Python 3.x 在列表python3中查找给定数字的索引
我已经写了一个程序,给我一个给定整数的索引,我在列表中选择x。另外,当一个给定的整数不在列表中时,我希望程序给我输出-1或无Python 3.x 在列表python3中查找给定数字的索引,python-3.x,indexing,Python 3.x,Indexing,我已经写了一个程序,给我一个给定整数的索引,我在列表中选择x。另外,当一个给定的整数不在列表中时,我希望程序给我输出-1或无 list = [7,13,6,1] x = 5 for i,j in enumerate(list): if j==x: print(i) else: print(-1) 不过。如果我在上面给出的列表中使用它,输出将是 -1 -1 -1 -1 我只想要-1。有什么想法吗? 使现代化 我还希望程序只给我它找
list = [7,13,6,1]
x = 5
for i,j in enumerate(list):
if j==x:
print(i)
else:
print(-1)
不过。如果我在上面给出的列表中使用它,输出将是
-1
-1
-1
-1
我只想要-1。有什么想法吗?
使现代化
我还希望程序只给我它找到的第一个整数的索引,而现在它给我所有数字的索引,等于它在列表中找到的x,else子句将在循环的每次运行中出现,如果你取消它在for循环中的输入,它将只在for循环没有中断的情况下运行,如果您确实找到了一个匹配的,那么您应该中断,以便它只显示第一次出现:
for i,j in enumerate(list):
if j==x:
print(i)
break
else:
print(-1)
else子句将出现在循环的每次运行中,如果您取消将其输入到for循环中,它将仅在for循环未中断时运行,如果您找到一个匹配的,则应中断,以便它仅显示第一次出现:
for i,j in enumerate(list):
if j==x:
print(i)
break
else:
print(-1)
您可以使用,如果存在,则返回第一个索引值,如果不存在,则引发ValueError,还可以使用try-except子句来处理错误:
l = [7,13,6,1]
x = 5
try:
print(l.index(x))
except ValueError:
print(-1)
您可以使用,如果存在,则返回第一个索引值,如果不存在,则引发ValueError,还可以使用try-except子句来处理错误:
l = [7,13,6,1]
x = 5
try:
print(l.index(x))
except ValueError:
print(-1)
你为什么不使用list.index?@timgeb,因为我认为如果列表中没有数字,它将无法给出我选择的输出?所以使用list。find@zondo列表没有.find方法…@Whizkid95只需捕获异常并返回-1,见金刚驴的答案。你为什么不使用list.index?@timgeb,因为我认为如果列表中没有数字,它将无法给出我选择的输出?所以使用list。find@zondo列表中没有.find方法…@Whizkid95只需捕获异常并返回-1,请参阅毛驴孔的答案。