我有6个不同的列表列表,类似于
list1=[['hello',1,2,'b3'],['world',1,2,'b4']]
list2=[['yo',4,5,'ba'],['lolz',1,4.35,'b4']]
list3=[['yo',4,5,'ba'],['world',3,4.35,'b6']]
list4=[['test',4,5,'b6'],['test',4,5,'b6']]
每个列表中可以有大约100个子列表,但它们在子列表中总是有4个条目。我想找到所有相同的子列表,并将它们放入最终列表中。所以它看起来像
final=[['yo',4,5,'ba'],['test',4,5,'b6']]
模式很重要,因此子列表中的条目需要保持有序,但子列表的顺序无关紧要。我能做到这一点的最佳方式是什么?谢谢你的帮助。
答案 0 :(得分:2)
假设子列表中没有不可用的元素,我会将它们转换为元组并将它们提供给collections.Counter
from collections import Counter
big_list = [list1, list2, ...]
c = Counter(tuple(sublist) for l in big_list for sublist in l)
final = [list(i) for i in c if c[i] > 1]