当我执行代码时,它显示错误列表索引超出范围
array = [1, 22, 22, 3, 14, 14, 24, 5]
j = 0
i = 0
list1 = []
array.sort()
for i in range(0, len(array)):
if array[i] != array[i + 1]:
list1.append(array[i])
for i in range(len(list1)):
print(list1[i])
当我执行代码时,它显示错误列表索引超出范围
array = [1, 22, 22, 3, 14, 14, 24, 5]
j = 0
i = 0
list1 = []
array.sort()
for i in range(0, len(array)):
if array[i] != array[i + 1]:
list1.append(array[i])
for i in range(len(list1)):
print(list1[i])
2条答案
按热度按时间llmtgqce1#
如果您不介意的顺序,您可以将其转换为
set
然后返回到list
这样地:输出:
[1, 3, 5, 14, 22, 24]
vu8f3i0k2#
您需要迭代列表的长度-1。
当循环到达列表的最后一个元素时,
i+1
甚至没有。您正在尝试获取一个不存在的元素,或者该元素在列表中不存在。因此,它引发了错误。
你应该这样做
不过,还有其他选择。
例子
或者你可以使用
OrderedDict
```from collections import OrderedDict
array = [1, 22, 22, 3, 14, 14, 24, 5]
arr=list(OrderedDict.fromkeys(array))