我想反转字典key, value
使用字典理解进行配对,但如果新字典的键有多个值,则它将被最后一个值替换。
如果重复某个键,是否可以使用理解附加到新字典中的值?
Input:
test_di = {'a':'1', 'b':'2', 'c':'3', 'd':'2'}
Code:
{v:k for k,v in test_di.items()}
该代码的输出:
{'1': 'a', '3': 'c', '2': 'd'}
期望的输出:
{'1': ['a'], '3': ['c'], '2': ['b','d']}
不可能以合理的方式做到这一点(即O(N)
时间)与字典理解。该理解根本无法处理重复的值。
但是,使用常规循环非常简单:
d = {}
for key, value in old_d.items():
d.setdefault(value, []).append(key)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)