I want to iterate through a list, and remove the items that count more than once, so they don’t get printed repeatedly by the for loop.
However, some items appearing only one time in the list seem to get affected too by this, and I can’t figure out why.
Any input would be greatly appreciated.
Example Output:
listy = [2,2,1,3,4,2,1,2,3,4,5]
for i in listy:
if listy.count(i)>1:
print i, listy.count(i)
while i in listy: listy.remove(i)
else:
print i, listy.count(i)
Outputs:
2 4
3 2
1 2
thus ignoring completely 4 and 5.
You should not modify a list while iterating over it. This one should work:
The result is: