首页 > 解决方案 > 查找列表中相似元素的索引

问题描述

我有这两个列表:


list_1 = ['less', 'more', 'more', 'more', 'more', 'more', 'more', 'more']

list_2 = ['less', 'less', 'less', 'more', 'less', 'less', 'more', 'less']

如果另一个列表中的相应元素相同,我想在 list_1 中找到索引。例如list_1[0] = list_2[0],0 将是我要查找的索引列表的第一个元素,但是list_1[1] != list_2[1],因此 1 不会在我的列表中

标签: python

解决方案


您可以先zip检查它们,然后两两检查并使用enumerate如下所示的保存索引。(正如我问和你说的两个列表具有相同的大小)

尝试这个:

>>> list_1 = ['less', 'more', 'more', 'more', 'more', 'more', 'more', 'more']
>>> list_2 = ['less', 'less', 'less', 'more', 'less', 'less', 'more', 'less']
>>> [idx for idx, (a,b) in enumerate(zip(list_1, list_2)) if a==b]
[0, 3, 6]

# for more details
>>> list(zip(list_1, list_2))
[('less', 'less'),
 ('more', 'less'),
 ('more', 'less'),
 ('more', 'more'),
 ('more', 'less'),
 ('more', 'less'),
 ('more', 'more'),
 ('more', 'less')]

推荐阅读