Python如何输出列表所需值的索引?

Python如何输出列表所需值的索引?
代码如下:

cont_list = ['a','b','c','d','a']
cont = ['a']
for w1 in cont_list:
    if w1 in cont:
        print(cont.index(w1))

我想要的结果是关于值a的索引依次输出,即第一次输出[0],第二次输出[4]。但是使用index函数只能依次输出[0][0],请问该如何解决

因为index函数永远找的都是第一次出现的位置,所以达不到你的要求。借助enumerate来获取索引,修改后的代码

result = {}
cont_list = ['a','b','c','d','a']
cont = ['a', 'b']
for idx, w1 in enumerate(cont_list):
    if w1 in cont:
        if w1 not in result:
            result[w1] = [idx]
        else:
            result[w1].append(idx)

print(result)

有帮助的话,请点采纳该答案~

通过range来实现:

cont_list = ['a','b','c','d','a']
cont = ['a']

for w1 in range(0, len(cont_list)):    
    if cont_list[w1] in cont:
        print(w1)

img

如果确定想用 index 来获取索引,那么你每次匹配需要定一个开始位置,匹配成功,则开始位置后移


cont_list = ['a','b','c','d','a','b','a']
cont = ['a','b']
for w1 in cont:
    c = cont_list.count(w1)
    pos = 0
    while c > 0:
        print(cont_list[pos:].index(w1) + pos)
        pos += cont_list[pos:].index(w1) + 1
        c -= 1