from itertools import groupby
data = [('I', 'N'),('love', 'V'),('Miley', 'N'),('Cyrus', 'N'),('but', 'ADV'),('hate', 'V'),('Liam', 'N'),('Hemsworth', 'N')]
result = [" ".join(m for m, _ in v) for k, v in groupby(data, lambda x: x[1])]
print(result)
from itertools import groupby
from operator import itemgetter
data = [('I', 'N'), ('love', 'V'), ('Miley', 'N'), ('Cyrus', 'N'), ('but', 'ADV'), ('hate', 'V'), ('Liam', 'N'),
('Hemsworth', 'N')]
result = [' '.join(t[0] for t in group) for k, group in groupby(data, key=itemgetter(1))]
print(result)
使用
itertools.groupby
Ex:
输出:
您可以使用itertools.groupby对第二个元素进行分组,然后提取每个组的第一个元素:
输出
上述list comprehension相当于以下for循环:
相关问题 更多 >
编程相关推荐