我有一个Python列表,其中包含键/值对:
l=[ [1, 'A'], [1, 'B'], [2, 'C'] ]
Run Code Online (Sandbox Code Playgroud)
我想将列表转换为字典,其中每个键的多个值将聚合到一个元组中:
{ 1:('A', 'B'), 2:('C',) }
Run Code Online (Sandbox Code Playgroud)
迭代解决方案是微不足道的:
l=[ [1, 'A'], [1, 'B'], [2, 'C'] ]
d={}
for pair in l:
if d.has_key(pair[0]):
d[pair[0]]=d[pair[0]]+tuple(pair[1])
else:
d[pair[0]]=tuple(pair[1])
print d
{1: ('A', 'B'), 2: ('C',)}
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的Pythonic解决方案来完成这项任务?