我有一个列表列表,每个列表都有子列表,例如以下内容:
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:列表索引超出范围
我不知道我的方法是否正确。我试图进行搜索和理解,但是找不到相关的内容。
所有子列表的长度相同。
当您实现此功能时,我的范围应为: 从0到len(mylist)-2 j的范围也应该在您的实现中 从我到len(mylist)-1