Python中查找列表中元素的索引

0 投票
2 回答
12140 浏览
提问于 2025-04-17 06:15

可能是重复的问题:
Python 两个列表查找索引值

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 中的位置,也就是它的索引。我希望这个脚本能打印出 listEx 中对应项目的索引和名称。

谢谢!

2 个回答

0

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个工具或库的时候,发现它的功能和自己想的不太一样。这时候,查看一些技术论坛,比如StackOverflow,就能找到很多其他程序员分享的经验和解决方案。

这些论坛上的内容通常会有很多人提问和回答,大家会讨论各种各样的技术问题。通过阅读这些讨论,我们可以学习到很多实用的知识,帮助我们更好地理解编程的世界。

总之,遇到问题时,不要害怕去寻求帮助,技术社区是一个很好的资源,可以让我们快速找到解决方案。

>>> 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
1

我可能需要进一步的解释!

我觉得你这里有点搞混了。

当你写 for i in listEx2: 的时候,每次循环中,i 是列表中某个位置的值,而不是索引!

如果你只是想知道元素出现的索引,那为什么不试试下面这种写法呢:

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

这样可以打印出匹配项的索引,当然你也可以把值本身(i)连接上去。

撰写回答