在Python中,如何比较两个列表并获取所有匹配项索引?

发布于 2021-01-29 16:53:05

这可能是一个简单的问题,我只是想念而已,但是我有两个包含字符串的列表,我想逐个元素“反弹”,而另一个则返回匹配的索引。我希望有多个匹配项,并希望所有索引。我知道list.index()获得第一个,您可以轻松获得最后一个。例如:

list1 = ['AS144','401M','31TP01']

list2 = ['HDE342','114','M9553','AS144','AS144','401M']

然后,我将遍历list1与list2进行比较,然后输出:
[0,0,0,1,1,0] , [3,4] 或等等,第一次迭代
[0,0,0,0,0,1] , [6]为第二次
[0,0,0,0,0,0][]第三次

编辑:抱歉给您带来任何混乱。我想以某种方式获得结果,这样我就可以像这样使用它们了-
我有第三个列表,可以调用list3,我想从输出的索引中从该列表中获取值。即list3[previousindexoutput]=list of cooresponding values

关注者
0
被浏览
163
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    [([int(item1 == item2) for item2 in list2], [n for n, item2 in enumerate(list2) if item1 == item2]) for item1 in list1]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看