[英]Find similar items in list of lists using Python
我正在尝试执行类似于此链接的操作 ,但是使用列表列表。 但是,执行以下操作会导致TypeError。
list1 = [[a,a], [b,b], [c,c]]
list2 = [[c,c], [d,d], [e,e]]
same = set(list1) & set(list2)
我还试图找到:
different = not set(list1) & set(list2)
列表不是可散列的类型,因此不能放入集合中,但元组可以。 您可以使用tuple(mylist)
将列表转换为元tuple(mylist)
。 以下代码假定a,b,c,d和e为可哈希类型。
list1 = [(a,a), (b,b), (c,c)]
list2 = [(c,c), (d,d), (e,e)]
same = set(list1) & set(list2)
如果您只是像这样使用列表理解,则将更易于理解和理解。
def seperate(*ls):
sim, diff = []
for l in ls:
sim.extend([ x for x in l if x not in sim ])
diff.extend([ x for x in l if x not in sim ])
return sim, diff
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.