删除数组中的重复元素

时间:2019-11-03 18:43:39

标签: python arrays

我正在尝试删除数组中的重复元素。有很多方法,但是我试图提出自己的方法并尝试以下代码。

x=[2,1,3,5,3,5]
for i in range(0,len(x)):
  for j in range(0,len(x)):
      if (x[i]==x[j+1]):
           del x[j+1]
for k in range(0,len(x)):
    print(x[k])


我在第4行收到以下错误 列出索引超出范围。

请帮助我!

1 个答案:

答案 0 :(得分:0)

我可以看到两个错误:

  1. 您正在程序中使用j+1。当第二个for循环到达循环结束时,j等于5,然后j+1等于6,但是x[6]会超出范围。
  2. 从数组中删除元素会更改数组的长度。例如,您的数组以长度6开始,但是在删除其中一个元素后,数组的长度为5。但是,for循环无法识别这一点,并且一直持续到i=5而不是停在i=4上,并且x[5]超出了范围。