|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 秋灯烬 于 2022-3-23 09:46 编辑
actor_of_movies = {"妖猫传": ["黄轩", "染谷将太", "黄轩"], "无问东西": ["章子怡", "王力宏", "祖峰"], "超时空同居": ["雷佳音", "王力宏", "佟丽娅"]}
这是我的一个字典
我要把他转化成
{'黄轩': ['妖猫传'], '染谷将太': ['妖猫传'], '章子怡': ['无问西东'], '王力宏': ['无问西东', '超时空同居'], '祖峰': ['无问西东'], '雷佳音': ['超时空同居'], '佟丽娅': ['超时空同居']}
这样子,也就是演员对应的电影,但是苦于只学了几天Python,写不出来,又被什么哈西值困扰,有没有大佬能帮帮我,我看一下没准就懂了。
- from functools import reduce
- from operator import or_
- actor_of_movies = {"妖猫传": ["黄轩", "染谷将太", "黄轩"], "无问东西": ["章子怡", "王力宏", "祖峰"], "超时空同居": ["雷佳音", "王力宏", "佟丽娅"]}
- keys = reduce(or_, [set()] + list(map(set, actor_of_movies.values())))
- result = {k:[] for k in keys}
- for k, v in actor_of_movies.items():
- for i in set(v):
- result[i].append(k)
- print(result)
复制代码
|
|