Python列表中的项的索引而不出错?

20 浏览
0 Comments

Python列表中的项的索引而不出错?

要在列表中找到项目的索引,可以使用以下方法:

list.index(x)
返回列表中第一个值为x的项目的索引。
如果没有这样的项目,则会出现错误。

对我来说,这似乎有点奇怪,如果找不到项目,它会抛出错误。在我所在的地方(Objective-C领域),它会返回一个NSNotFound枚举(只是一个表示未找到项目的最大整数)。

所以我做了一些丑陋的东西来解决这个问题:

index = 0
for item in self.items:
   if item.id == desired_id:
        return index
    index = index + 1
 return -1

我用-1表示未找到该项。有没有更好的方法来做到这一点,为什么Python没有内建类似的功能呢?

0