Почему вы начинаете второй цикл с 1?
Вы должны начать это с
я + 1. т.е.
for(j=i+1;j<20;j++)
Как если бы список был
abc
def
abc
abc
lop
тогда
когда я == 4
TMP = "обкорнать"
но затем начинается второй цикл, который составляет от 1 до 19. Это означает, что он также получит значение 4 на одной стадии, а затем
data [4], который является "lop", будет таким же, как tmp. Таким образом, хотя «lop» уникален, но он будет помечен как повторенный.
Надеюсь, это было полезно.