python查找列表中项目的索引

时间:2011-11-14 00:14:06

标签: python

  

可能重复:
  Python two lists finding index value

listEx = ['cat *(Select: "Standard")*', 'dog', 'cow', 'turtle *(Select: "Standard")*', 'onion', 'carrot *(select: "Standard")*']
listEx2 = ['house', 'farm', 'cottage', 'cat', 'turtle', 'computer', 'carrot']

for i in listEx2:
    for j in ListEx:
        if i in j:
            print listEx.index(listEx2[i] in listEx[j])

这是我试图做的事情。对于listEx2中的项目,我想在listEx中找到项目的索引,其中listEx2中的项目位于listEx中。我希望脚本打印出listEx中带有名称的项目索引。

谢谢!

2 个答案:

答案 0 :(得分:1)

我可能需要对此进一步澄清!

我认为你在这里混合了一些东西。

执行for i in listEx2:时,在每次迭代中,i是列表中位置的值,而不是索引!

如果您只需要元素出现的索引,那么为什么不能这样:

for i in listEx2:
    if i in listEx:
        print listEx.index(i)

这将打印匹配事件的索引,您可以连接值本身,当然(i)。

答案 1 :(得分:0)

>>> listEx = ['cat *(Select: "Standard")*', 'dog', 'cow', 'turtle *(Select: "Standard")*', 'onion', 'carrot *(select: "Standard")*']
>>> listEx2 = ['house', 'farm', 'cottage', 'cat', 'turtle', 'computer', 'carrot']
>>> for elem in listEx2:
        for i, tgt in enumerate(listEx):
                if elem in tgt:
                        print elem, 'in', tgt, 'at', i


cat in cat *(Select: "Standard")* at 0
turtle in turtle *(Select: "Standard")* at 3
carrot in carrot *(select: "Standard")* at 5