Python - 将列表中的连续字符串分组
当需要对列表中存在的字符串的连续元素进行分组时,定义了一种使用“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”的方法,它将列表作为参数,并使用“groupby”方法使用yield返回输出。
在该方法之外,定义了一个列表并显示在控制台上。
调用“group_string”并将结果分配给变量。
这在控制台上显示为输出。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下