列表中有一个唯一的元素。列表中有 n 个相似的数字。
当我尝试运行 while 循环时,会出现列表索引越界。列表中有一个唯一的元素。
而(arr[0]==arr[1]):
IndexError:列表索引超出范围
n=int(input())
arr=[int(x) for x in input().split()]
arr.sort()
while (arr[0]==arr[1]):
for i in range(n):
arr.pop(0)
print(arr[0])
Input 第一行由一个整数n组成,是每组的大小。第二行包含房间号列表的无序元素。
5
1 2 3 6 5 4 4 2 5 3 6 1 6 5 3 2 4 1 2 5 1 4 3 6 8 4 3 1 5 6 2
输出
8
如果列表中的唯一元素位于列表的末尾,则在while
循环迭代足够次数后,它将删除所有重复项,并且列表的长度为 1。
此时,arr[0] == arr[1]
会崩溃,因为arr[1]
引用了你列表的第二个元素,而你的列表没有两个元素。
您可以更改 while 循环的条件,以便在长度达到 1 时也结束:
while (len(arr) > 1 and arr[0]==arr[1]):
结果:
C:\Users\Kevin\Desktop>test.py
5
1 2 3 6 5 4 4 2 5 3 6 1 6 5 3 2 4 1 2 5 1 4 3 6 8 4 3 1 5 6 2
8
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句