Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在列表python3中查找给定数字的索引_Python 3.x_Indexing - Fatal编程技术网

Python 3.x 在列表python3中查找给定数字的索引

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。有什么想法吗? 使现代化 我还希望程序只给我它找

我已经写了一个程序,给我一个给定整数的索引,我在列表中选择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。有什么想法吗? 使现代化 我还希望程序只给我它找到的第一个整数的索引,而现在它给我所有数字的索引,等于它在列表中找到的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,请参阅毛驴孔的答案。