当我运行以下代码时,出现错误:
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)
简单地从列表中创建一个集合
关于python - 简单的 python 嵌套循环 - 索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12193471/