首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在字典python 3中查找和替换列表值

在字典python 3中查找和替换列表值
EN

Stack Overflow用户
提问于 2020-02-10 08:23:07
回答 1查看 44关注 0票数 1

我是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] }

我已经在互联网上寻找解决方案,但没有结果。我尝试创建一个空列表和字典,迭代字典的键和值,也迭代列表值,如果不存在,则将其添加到空列表中,但似乎没有得到所需的结果。

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2020-02-10 15:03:23

我想你希望进程列表的顺序是'happy‘-> 'random’-> 'sad‘。在列表值中循环,检查它是否在之前的操作中看到,如果没有找到,则将其添加到最终列表中,将其添加到seen_values中。

代码语言:javascript
复制
seen_values = set()
for key in ('happy', 'random', 'sad'):
    final_list = []
    for value in dict[key]:
        if value in seen_values:
            continue
        seen_values.add(value)
        final_list.append(value)
    dict[key] = final_list
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60142653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档