首页 > 解决方案 > 根据单独行中另一个列表的值打印一个列表中元素的索引

问题描述

A = [['a'], ['a'], ['b'], ['a'], ['b']]
B =  [['a'], ['b']]

我有两个列表 A 和 B。我必须打印列表 A 的那些元素索引号(索引号 + 1),这些元素也存在于列表 B 中。对于列表 B 的每个元素,我想打印值的索引在列表 A 中按顺序排列在一行中。我怎样才能解决这个问题?

我的代码:

for i,x in enumerate(A):
    for y in B:
        if x == y:
            print(A.index(x)+1,end=" ")

我的代码的输出:

1 1 3 1 3 

预期输出:

1 2 4
3 5

标签: pythonpython-3.xlistindexingduplicates

解决方案


代码将像这样得到 1,2,4 作为输出

for i,x in enumerate(A):
    if x==B[0]:
        print(i+1,end=" ")

推荐阅读