我编写了一个程序,它给出了我在列表中选择的给定整数(x)的索引。此外,当列表中的给定整数不是时,我希望程序给出输出-1(或无)。
-1
-1
-1
-1
然而。如果我在上面给出的列表中使用它,输出将是
require.ensure
我只想要-1。有什么想法吗? 的更新 我也希望程序只给我找到的第一个整数的索引,而它现在给我所有数字的索引,等于x,它在列表中找到
答案 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)