姬長信(Redy)

python – 列表到每个键有多个值的字典转换…


我有一个Python列表,其中包含键/值对:
l=[ [1, 'A'], [1, 'B'], [2, 'C'] ]

我想将列表转换为字典,其中每个键的多个值将聚合到一个元组中:

{ 1:('A', 'B'), 2:('C',) }

迭代解决方案是微不足道的:

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',)}

是否有更优雅的Pythonic解决方案来完成这项任务?