我有一个包含不同数据类型的列表,例如数字和字符串:
foo = [5,2,'a',8,4,'b','y',9, 'd','e','g']
假设我想查找列表中的所有连续字符串,并将它们分组在一起:
bar = [ ['a'],['b','y'],['d','e','g'] ]
我该怎么做
最佳答案
这是一个使用 groupby
的绝佳机会:
from itertools import groupby
foo = [5,2,'a',8,4,'b','y',9, 'd','e','g']
bar = [list(g) for k, g in groupby(foo, key=lambda x: isinstance(x, str)) if k]
产生所需的:
[['a'], ['b', 'y'], ['d', 'e', 'g']]
关于python - 将连续相似的项目分组到 python 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52207120/