源码

首页 » 归档 » 源码 » python – 列表到每个键有多个值的字典转换…

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

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/python-liebiaodaomeigejianyouduogezhidezidianzhuanhuan.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9 月 19, 2019 at 02:57 上午

热评文章