当我运行以下代码时,出现错误:
def genSet(nums):
for i in range(0, len(nums)-1):
for x in range(0, len(nums)-1):
if nums[x] == nums[i]:
del nums[x]
return nums
a = [5, 4, 3, 5, 6, 7, 8, 5, 4, 3]
print genSet(a)
输出:
Traceback (most recent call last):
File "49.py", line 9, in <module>
print genSet(a)
File "49.py", line 4, in genSet
if nums[x] == nums[i]:
IndexError: list index out of range
据我所知(我将 if 语句替换为“print x, i”)这两个 for 循环没问题,那么为什么索引超出范围?
请您参考如下方法:
不要执行 del nums[x],因为这样会使 nums 变短,从而导致异常。
您可以通过set_nums = set(nums)简单地从列表中创建一个集合
