我在python list_A和list_B中有两个列表,我想找到它们共享的共同项目。我的代码如下:
both = []
for i in list_A:
for j in list_B:
if i == j:
both.append(i)
最后的公共列表包含公共项目。但是,我还想返回最初两个列表中这些元素的索引。我该怎么办?
答案 0 :(得分:3)
在python中建议您尽量避免使用for
循环。您可以通过使用python set
如下高效地找到两个列表中的公共元素
both = set(list_A).intersection(list_B)
然后,您可以使用内置的index
方法找到索引
indices_A = [list_A.index(x) for x in both]
indices_B = [list_B.index(x) for x in both]
答案 1 :(得分:-1)
不是遍历列表,而是通过索引访问元素:
both = []
for i in range(len(list_A)):
for j in range(len(list_B)):
if list_A[i] == list_B[j]:
both.append((i,j))
这里i和j将采用整数值,您可以按索引检查list_A和list_B中的值。