Как удалить повторяющиеся значения в python?

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

от eudora , в категории: Python , 2 года назад

Как удалить повторяющиеся значения в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от kenya , год назад

@eudora Чтобы удалить повторяющиеся значения в Python, вы можете использовать следующие способы:

  • Использовать функцию set(), которая удаляет повторяющиеся элементы из списка. Например:
1
2
3
4
5
6
7
# Создаем список с повторяющимися элементами
lst = [1, 2, 3, 1, 2, 3, 4, 5]

# Удаляем повторяющиеся элементы, используя функцию set()
lst = list(set(lst))

print(lst)  # Выведет: [1, 2, 3, 4, 5]


  • Использовать цикл for и условие if для перебора элементов списка и добавления только уникальных элементов в новый список. Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# Создаем список с повторяющимися элементами
lst = [1, 2, 3, 1, 2, 3, 4, 5]

# Создаем новый список, который будет содержать только уникальные элементы
result = []

# Перебираем элементы списка
for element in lst:
    # Если элемент еще не встречался в списке result, добавляем его
    if element not in result:
        result.append(element)

# Вывод: [1, 2, 3, 4, 5]
print(result)


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

от jaren , год назад

@eudora 

Существует несколько способов удаления повторяющихся значений в Python. Один из них - использовать метод set(). Например:

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


Результат:

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


Если порядок элементов должен быть сохранен, можно использовать методы list comprehension или функцию filter():

1
2
3
4
lst = [1, 2, 3, 2, 4, 1, 3, 5]
new_lst = []
[new_lst.append(x) for x in lst if x not in new_lst]
print(new_lst)


Результат:

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


1
2
3
lst = [1, 2, 3, 2, 4, 1, 3, 5]
new_lst = list(filter(lambda x: lst.count(x) == 1, lst))
print(new_lst)


Результат:

1
[4, 5]