【发布时间】:2020-05-08 22:45:25
【问题描述】:
我有一个列表列表,每个列表都有子列表,例如:
mylist = [[['AB','CD'],['GH','EF'],['IJ','KL'],['']],[['CD','AB'],['EF','GH'],['KL','IJ'],['']],[['EF','GH'],['CD','AB'],['IJ','KL'],['']],...]
列表数量为 1500 个,每个列表有 16 个子列表(以上仅为示例)。对于所有列表,我想要做的是将一个列表的子列表与另一个列表的子列表进行比较。更准确地说,我想比较 ['AB','CD'] 与 ['CD','AB'] 和 ['EF','GH'] 以及其余部分的第一个子列表列表。第二个子列表也是如此。我想检查他们是否有相同的项目,顺序无关紧要。所以 ['AB','CD'] 和 ['CD','AB'] 是一样的。但是我还需要找到哪些子列表包含 ['EF','GH'] 并在所有相同的子列表在一起时进行一些计算。 总而言之,我想检查一个列表的第一个子列表与每个列表的第一个子列表的其余部分,然后对每个子列表(第 2、3、4、..、第 15)执行相同的操作。 我想过做这样的事情
for i in range(0,len(mylist)):
for j in range(i,len(mylist)):
if mylist[i][j]==mylist[i + 1][j]:
但是当我这样做时它似乎不起作用。它给了我:
IndexError: 列表索引超出范围
我不知道我的方法是否正确。我试图搜索和理解,但找不到相关的东西。
所有子列表的长度相同。
【问题讨论】:
标签: python list comparison sublist