如果在python中重复其中一个值,如何删除整个字典元素?

时间:2019-06-13 14:08:34

标签: python list dictionary

我有几个字典列表,显示一个单词及其在句子中的位置(开始/结束字符)。但是,有些单词是重复的,但是它们在句子中的位置却有所不同,因此我找不到找到重复项的方法。如何将这些单词从词典列表中删除?

[{'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 :(得分:0)

假设您的列表名为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)]