Задача: удалить уникальные элементы из списка и вывести получившийся список.
Вот такое решение:
data = [10, 9, 10, 10, 9, 8] a = data.copy() # создаю поверхностную копию спиcка data # в цикле перебираю значения data, а удаляю данные из списка а, его и вывожу for i in range(len(data)): if data.count(data[i]) == 1: a.remove(data[i]) print(a)
Это работает, только не нравится мне - а без копии выдает ошибку.
[code]data = [1, 2, 3, 4, 5] # в цикле перебираю значения data, удаляю данные из списка, вывожу for i in range(len(data)): if data.count(data[i]) == 1: data.remove(data[i]) print(data) Traceback (most recent call last): File "<pyshell#22>", line 2, in <module> if data.count(data[i]) == 1: IndexError: list index out of range[/code]
print([data.remove(data[i]) for i in range(len(data)) if data.count(data[i]) == 1])
a = [data.remove(data[i]) for i in range(len(data)) if data.count(data[i]) == 1] print(a)
Не работает.
Как сделать это красиво и почему? Помогите, люди добрые.