Вопрос проверяет знание методов удаления дубликатов из списка.
Для удаления дубликатов из списка можно использовать преобразование в множество, а затем обратно в список. Это быстрый способ, но он не сохраняет порядок. Для сохранения порядка можно использовать цикл и добавлять элементы в новый список, проверяя их уникальность.
В Python существуют два популярных способа сделать значения списка уникальными:
Через преобразование в set:
Это простой способ, но он не сохраняет порядок.
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(my_list))
print(unique_list) # [1, 2, 3, 4, 5] (порядок может измениться)С сохранением порядка:
Используйте цикл или collections.OrderedDict (Python < 3.7).
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = []
for item in my_list:
if item not in unique_list:
unique_list.append(item)
print(unique_list) # [1, 2, 3, 4, 5]Через генератор: Использование встроенных конструкций Python:
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(my_list))
print(unique_list) # [1, 2, 3, 4, 5]Когда использовать:
Преобразование в set — для больших объемов данных, где порядок не важен.
Цикл или генератор — если порядок имеет значение.