Как удалить из списка одинаковые элементы Python?

Пользователь

от vladimir , в категории: Python , 3 года назад

Как удалить из списка одинаковые элементы Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@vladimir Используйте dict.fromkeys() чтобы удалить из списка одинаковые элемент в Python, ниже пример кода:


1
2
3
4
5
fruits = ["яблоки", "банан", "вишня", "яблоки", "вишня"]
result = list(dict.fromkeys(fruits))

# Вывод: ['яблоки', 'банан', 'вишня']
print(result)
Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от jeremy_larkin , 2 года назад

@vladimir 

Вы можете удалить повторяющиеся элементы из списка Python, используя несколько различных методов.


Один из способов удаления повторяющихся элементов из списка - это использовать множество (set). Множество - это неупорядоченная коллекция уникальных элементов. Вы можете создать множество из списка, а затем преобразовать его обратно в список, чтобы удалить повторяющиеся элементы.


Вот пример:

1
2
3
my_list = [1, 2, 3, 3, 4, 4, 5]
new_list = list(set(my_list))
print(new_list)


Этот код создаст множество из списка my_list, удаляя дубликаты, а затем преобразует множество обратно в список, создавая новый список new_list, содержащий только уникальные элементы. Результат будет следующим:

1
[1, 2, 3, 4, 5]


Если порядок элементов в списке важен, вы можете использовать генератор списка и цикл for, чтобы создать новый список, содержащий только уникальные элементы, сохраняя их порядок:

1
2
3
4
5
6
my_list = [1, 2, 3, 3, 4, 4, 5]
new_list = []
for i in my_list:
    if i not in new_list:
        new_list.append(i)
print(new_list)


Этот код проходит по списку my_list и добавляет каждый элемент в список new_list, если он еще не был добавлен. Результат будет таким же, как и выше:

1
[1, 2, 3, 4, 5]