【发布时间】:2020-05-25 07:32:18
【问题描述】:
我是 python 新手。我正在尝试从下面的字典中查找并删除重复的列表值:
dict = {'happy':['sun', 'moon', 'bills' 'chocolate'], 'sad':['fail', 'test', 'bills', 'baloon'], 'random': ['baloon', 'france', 'sun'] }
我希望字典字典在从列表中删除重复项后看起来像这样
expectd_dict = {'happy':['sun', 'moon', 'chocolate', 'bills'], 'sad':['fail', 'test','baloon'], 'random': ['france] }
我在互联网上寻找解决方案,但无济于事。我尝试创建一个空列表和字典,遍历字典键和值,还遍历列表值,然后将其添加到空列表中(如果不存在),但我似乎没有得到想要的结果.
output_dict = {}
output_list = []
for key, value in d.items():
if key not in output_dict.values():
for i in value:
if i not in output_list:
output_list.append(i)
output_dict[key] = output_list
print(output_dict)
【问题讨论】:
-
你需要解释一下,什么让key优先具有一定的价值,即为什么
sad有bills而不是happy,而happy也有bills作为重复? -
补充上一条评论,为什么
bills从happy中删除但保留在sad中。同样,为什么baloon保持悲伤但从random中删除? -
对不起,我更新了问题。最高的键优先。如果
happy和sad中存在值,则应从sad中删除重复值。同样,如果sad和random中存在值,则应从random中删除重复值 -
那么为什么您的预期输出在
random中有baloon而不是在sad中?
标签: python-3.x dictionary