Задать вопрос
@hey_ho

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

допустим есть список имен
nameslist = ['Bill', 'Felix', 'Kacy', ' Bill', 'John', 'Felix']
как с помощью цикла удалить все имена Билл, при условии, что нам не известно, сколько билов есть в списке
  • Вопрос задан
  • 3671 просмотр
Подписаться Оценить Комментировать
Решения вопроса 1
Создать словарь string->int, где ключ - элемент из списка, а значение - количество элементов. На основе него создать новый список, выбрав ключи с единичным значением.

UPD: Andrey Druzhaev можно
from collections import Counter

names = ["a", "b", "c", "d", "a", "d", "d"]

print(list([k for k, v in Counter(names).items() if v == 1]))


UPD: Andrey Druzhaev это уже глупый вопрос, т.к. это обычная фильтрация.
Можно так.
filter(lambda s: s != "Bill", namelist)
Или так
[x for x in namelist if x != "Bill"]
В Python 3 можно даже так:
filter('Bill'.__ne__, nameslist)

И ещё способ
while "Bill" in namelist: namelist.remove("Bill")

Открывайте любую книгу по питону и читайте. Там всё есть.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@borodaturan
Python developer
А что значит "вытащить все имена"? Если хотите узнать кол-во уникальных имен, то самым простым способом будет преобразование списка в множество set(nameslist ). Если необходимо узнать сколько раз встречается конкретное имя, то нужно использовать collections.Counter
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽