title: Python: remove duplicate items from a list while iterating
body: <p>I have a list named results, I want to get rid of the duplicate items in the list, the expected result and my results does not match, I checked my code but cannot find what is the problem, what happened? Thanks a lot!  </p>
  
  <pre><code>results = [[-4, -2, 6], [-4, -2, 6], [-4, -2, 6], [-4, -2, 6], [-4, -2, 
      6], [-4, -2, 6], [-4, 0, 4], [-4, 0, 4], [-4, 1, 3], [-4, 1, 3], [-4, 2, 
      2], [-4, 2, 2], [-4, 2, 2], [-2, -2, 4], [-2, -2, 4], [-2, -2, 4], [-2, 
      -2, 4], [-2, 0, 2], [-2, 0, 2], [-2, 0, 2], [-2, -2, 4], [-2, -2, 4], 
      [-2, 0, 2], [-2, 0, 2], [-2, 0, 2], [-2, 0, 2], [-2, 0, 2], [-2, 0, 2]]
  
  i = 0
  while i &lt; len(results):  
      j = i+1
      while j &lt; len(results):
          if(set(results[i]) == set(results[j])):
              results.remove(results[j])
          else:
              j = j+1
      i = i+1
  print(results)
  
  OUTPUT:
  [[-4,-2,6],[-4,0,4],[-4,1,3],[-4,2,2],[-2,-2,4],[-2,-2,4],[-2,0,2]]
  
  EXPECTED RESULT:
  [[-4,-2,6],[-4,0,4],[-4,1,3],[-4,2,2],[-2,-2,4],[-2,0,2]]
  </code></pre>
  
  <p><strong>UPDATE</strong>: I got it. no problem with the logic of this code but I made a simple mistake with one place (sorry...I am a newbie). I should replace
  method "remove" by method "del", because I want to remove the item with specified index, if use "remove", it always remove the first one shows up in the list of that value. Anyway, Thanks to all!</p>
  
  <pre><code>For example:
  myList = ['Apple', 'Banana', 'Carrot','Apple']
  myList.remove(myList[3])
  print(myList)
  expected output:['Apple', 'Banana', 'Carrot']
  actual output: ['Banana', 'Carrot', 'Apple']
  
  myList = ['Apple', 'Banana', 'Carrot','Apple']
  del (myList[3])
  print(myList)
  OUTPUT: ['Apple', 'Banana', 'Carrot']
  </code></pre>
  
  <p><strong>SOLUTION to my question:</strong></p>
  
  <pre><code>### use "del" instead of "remove"
  #results.remove(results[j])
  del results[j]
  
  Another simple test example similar to my original question:
  results = [[-2, -2, 4], [-2, 0, 2], [-2, 0, 2], [-2, 0, 2], [-2, -2, 4]]
  i = 0
  while i &lt; len(results):  
      j = i+1
      while j &lt; len(results):
          print(results[i],results[j])
              if(set(results[i]) == set(results[j])):
                  #would get incorrect answer with "replace"
                  results.remove(results[j])
                  #try "del" to get the correct answer
                  #del (results[j]) 
      else:
          j = j+1
  i = i+1
  print(results)
  </code></pre>