在列表python3中查找给定数字的索引

时间:2016-05-10 14:29:08

标签: python-3.x indexing

我编写了一个程序,它给出了我在列表中选择的给定整数(x)的索引。此外,当列表中的给定整数不是时,我希望程序给出输出-1(或无)。

-1
-1
-1
-1

然而。如果我在上面给出的列表中使用它,输出将是

require.ensure

我只想要-1。有什么想法吗? 的更新 我也希望程序只给我找到的第一个整数的索引,而它现在给我所有数字的索引,等于x,它在列表中找到

2 个答案:

答案 0 :(得分:3)

您可以使用index,它返回第一个索引值(如果它存在),如果不是则引发ValueError,并使用try - except子句来处理错误:

l = [7,13,6,1]
x = 5

try:
    print(l.index(x))
except ValueError:
    print(-1)

答案 1 :(得分:2)

else子句将在循环的每次运行中发生,如果你取消它在for循环上,它只会在for循环不break时运行,如果你找到匹配的那个,你应该break出来,这样它只显示第一次出现:

for i,j in enumerate(list):
    if j==x:
        print(i)
        break
else:
    print(-1)