相关疑难解决方法(0)

列表转换为每个键有多个值的字典转换?

我有一个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解决方案来完成这项任务?

python dictionary list type-conversion

52
推荐指数
3
解决办法
9万
查看次数

标签 统计

dictionary ×1

list ×1

python ×1

type-conversion ×1