一、前言
今天朋友给我发来这样一道题,给定一个字典
d1 = {'李阳':['音乐','读书','跑步'],
'王天薇':['美食','诗歌','旅游'],
'郭晓强':['编程','骑行','旅游','跑步'],
'文雨非':['羽毛球','跑步','音乐','诗歌'],
'郑菲菲':['美食','排球','舞蹈']}
要求找出共同爱好的人,爱好作为新字典的key,姓名作为新字典的value
话不多说直接上代码
二、实现
new_dict = {}
for key,value in d1.items():
for i in value:
new_dict[i] = [key for key,value in d1.items() if i in value]
print(new_dict)
简单梳理一下逻辑:
肯定是要生成一个新字典的这个不用说,遍历字典取出当前字典的key,value。key是我们的姓名,value是我们的兴趣爱好,那么我们要将兴趣爱好当成我们新字典的key,所以我们去遍历value,用dict[key] = value的形式生成我们的新字典。因为字典是可以帮我们自动去重的,所以在这里不用考虑去重。最主要的就是我们后面的value怎么取,可以想到,我们新字典的key对应的value是根据原value确定的,也就是说当前本应该作为value的这个key是否在原来的value里面,如果是在里面我们就把原key传出去,成为一个新的value。也就是下面这段代码
key for key,value in d1.items() if i in value
最后的结果如下:

成功!
三、结束语
python中字典、列表、字符串是经常运用的数据类型。大家在掌握其独特的方法后也要灵活运用。每天进步一点点,来和我一起学习吧。
最后
以上就是负责流沙最近收集整理的关于Python字典经典例题-key,value灵活运用的全部内容,更多相关Python字典经典例题-key内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复