Python - 对列表中的连续字符串进行分组
pythonserver side programmingprogramming更新于 2025/11/9 14:04:17
当需要对列表中存在的字符串的连续元素进行分组时,会定义一个使用‘groupby’和‘yield’的方法。
示例
下面是相同的演示
from itertools import groupby
def string_check(elem):
return isinstance(elem, str)
def group_string(my_list):
for key, grp in groupby(my_list, key=string_check):
if key:
yield list(grp)
else:
yield from grp
my_list = [52, 11, 'py', 'th', 'on', 11, 52, 'i', 's', 18, 'f', 'un', 99]
print("列表为:")
print(my_list)
my_result = [*group_string(my_list)]
print("结果为:")
print(my_result)
输出
列表为: [52, 11, 'py', 'th', 'on', 11, 52, 'i', 's', 18, 'f', 'un', 99] 结果是: [52, 11, ['py', 'th', 'on'], 11, 52, ['i', 's'], 18, ['f', 'un'], 99]
解释
定义了一个名为‘string_check’的方法,该方法以列表为参数,并检查其是否属于某个实例类型。
定义了另一个名为‘group_string’的方法,该方法以列表为参数,并使用yield使用‘groupby’返回输出方法。
在方法之外,定义一个列表并显示在控制台上。
调用‘group_string’并将结果分配给变量。
这将作为输出显示在控制台上。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

