2024-05-15 03:43:01 发布
网友
在python中对元组列表进行分区的最佳方法是什么?在
目前,我有一个按第二个元素(一个值)排序的元组列表,我希望以一种高效的方式找到所有在开头重复的值。在
说:
[ ("tearing", 3), ("me", 3), ("apart", 3), ("lisa", 3), ("denny", 0), ("mark",0) ]
通过函数运行它将返回
但我不知道该怎么做。在
from itertools import takewhile L = [("tearing", 3), ("me", 3), ("apart", 3), ("lisa", 3), ("denny", 0), ("mark",0)] first = L[0][1] print list(takewhile(lambda x : x[1] == first, L))
伊格纳西奥的一个小变种
替代@Ignacio Vazquez Abrams的答案,使用列表理解:
>>> data=[ ("tearing", 3), ("me", 3), ("apart", 3), ("lisa", 3), ("denny", 0), ("mark",0) ] >>> print [x for x in data if x[-1]== data[0][-1]] [('tearing', 3), ('me', 3), ('apart', 3), ('lisa', 3)]
import itertools import operator L = [("tearing", 3), ("me", 3), ("apart", 3), ("lisa", 3), ("denny", 0), ("mark",0)] print list(itertools.groupby(L, operator.itemgetter(1)).next()[1]) # [('tearing', 3), ('me', 3), ('apart', 3), ('lisa', 3)]
但事实上,没必要提醒我那部电影。在
伊格纳西奥的一个小变种
替代@Ignacio Vazquez Abrams的答案,使用列表理解:
但事实上,没必要提醒我那部电影。在
相关问题 更多 >
编程相关推荐