大佬教程收集整理的这篇文章主要介绍了Python-在给定Python中包含项的列表的情况下查找该项的索引,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
>>> ["foo", "bar", "baz"].index("bar")
1
参考:数据结构>列表中的更多内容
请注意,虽然这也许是回答这个问题最彻底的方法是问,index是一个相当薄弱的组件ListAPI,而我不记得我最后一次使用它的愤怒。在评论中已向我指出,由于此答案被大量引用,因此应使其更完整。有关List.index以下注意事项。可能值得一开始看看它的文档:
List.index(x[, start[, end]])
在值等于x的第一项的列表中返回从零开始的索引。ValueError如果没有此类项目,则引发a 。
可选参数start和end的解释与切片符号相同,用于将搜索限制为列表的特定子序列。返回的索引是相对于完整序列的开始而不是开始参数计算的。
一个index调用检查,以列表的每一个元素,直到它找到一个匹配。如果你的列表很长,并且你大概不知道它在列表中的哪个位置,则此搜索可能会成为瓶颈。在这种情况下,你应该考虑使用其他数据结构。请注意,如果你大致知道在哪里找到匹配项,则可以给出index提示。例如,在此代码段中,l.index(999_999, 999_990, 1_000_000)
它比sTraight快大约五个数量级l.index(999_999)
,因为前者只需要搜索10个条目,而后者要搜索一百万个:
>>> import timeit
>>> timeit.timeit('l.index(999_999)', setup='l = List(range(0, 1_000_000))', number=1000)
9.356267921015387
>>> timeit.timeit('l.index(999_999, 999_990, 1_000_000)', setup='l = List(range(0, 1_000_000))', number=1000)
0.0004404920036904514
呼叫index
顺序搜索列表,直到找到匹配项,然后在该处停止。如果你期望需要更多匹配项的索引,则应使用列表推导或生成器表达式。
>>> [1, 1].index(1)
0
>>> [i for i, e in enumerate([1, 2, 1]) if e == 1]
[0, 2]
>>> g = (i for i, e in enumerate([1, 2, 1]) if e == 1)
>>> next(g)
0
>>> next(g)
2
我曾经使用过的大多数地方index,现在我使用列表推导或生成器表达式,因为它们更具通用性。因此,如果你打算接触index,请看看这些出色的Python功能。
如果没有该项index,ValueError则调用会导致。
>>> [1, 1].index(2)
TraceBACk (most recent call last):
file "<stdin>", line 1, in <module>
ValueError: 2 is not in List
如果该项目可能不在列表中,则你应该
对于列表["foo","bar","baz"]
和列表中的项目"bar"
,如何在Python中获取其索引(1)?
以上是大佬教程为你收集整理的Python-在给定Python中包含项的列表的情况下查找该项的索引全部内容,希望文章能够帮你解决Python-在给定Python中包含项的列表的情况下查找该项的索引所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。