Как удалить весь элемент словаря, если одно из его значений повторяется в Python? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть несколько списков слов, показывающих слово и его положение в предложении (начальный / конечный символ).Однако некоторые слова повторяются, но их положение в предложении варьируется, поэтому я не могу найти способ найти дубликаты.Как я могу удалить эти слова из моего списка словарей?

[{'word': 'sun',
 'start': 10,
 'end': 14},
{'word': 'earth',
 'start': 20,
 'end': 26},
{'word': 'sun',
 'start': 30,
 'end': 34}]

, поэтому я надеялся получить

[{'word': 'sun',
 'start': 10,
 'end': 14},
{'word': 'earth',
 'start': 20,
 'end': 26}]

Спасибо

1 Ответ

0 голосов
/ 13 июня 2019

Допустим, ваш список называется l. Тогда вы можете использовать:

alreadyUsed = list()
stuffToDelete = list()
for d in l:
    word = d['word']
    if word in alreadyUsed:
        stuffToDelete.append(d)
    else:
        alreadyUsed.append(word)
for d in stuffToDelete:
    del l[l.index(d)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...