我正在使用 python 2.7,我试图根据两个值在列表列表中查找重复列表。 例如
list= [[a,x,y,2], [b,xx,yy,2], [c,xxx,yyy,3],[a,yx,yx,2]]
outcome [[a,xyx,yyx,2], [b,xx,yy,2], [c,xxx,yyy,3]]
因此根据值 a 和 2,加入其他值
有什么建议吗?
谢谢 最好的问候
最佳答案
如果顺序不重要,我想你可以使用字典:
from operator import itemgetter
getter = itemgetter(0,-1)
def merge(lst1,lst2):
return [lst1[0],lst1[1]+lst2[1],lst1[2]+lst2[2],lst1[3]]
d = {}
for sublist in lst:
t = getter(sublist)
if t not in d:
d[t] = sublist
else:
d[t] = merge(sublist,d[t])
print d.values()
如果顺序很重要,您可以使用 collections.OrderedDict
代替。
关于python 在列表列表中查找重复列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16939639/