繁体   English   中英

使用Python在列表列表中查找相似的项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM