Python中如何反转值为列表的字典 使每个列表元素对应原键
实现方法
核心逻辑
遍历原字典的每一组键和对应的名字列表,将列表中的每个名字作为新字典的键,原字典的键作为新字典中该名字对应的值即可。
代码示例
首先定义你的原始字典(此处给x、y赋值仅为演示,可替换为你实际的x、y变量值):
x = "x" y = "y" dict1 = {x: ['John', 'Jack'], y: ['Julia', 'Michael']}
写法1:普通循环(易理解)
dict2 = {} for key, name_list in dict1.items(): for name in name_list: dict2[name] = key
写法2:字典推导式(更简洁)
dict2 = {name: key for key, name_list in dict1.items() for name in name_list}
注意事项
如果原字典不同键对应的列表中存在重复的名字,转换后该名字的值会被后遍历到的原字典键覆盖,若有特殊去重需求可自行调整逻辑。
内容的提问来源于stack exchange,提问作者user16815856
相关产品推荐
相关产品推荐

