python – 从字符串列表中分离的字符串创建字典

我觉得这很简单,我接近解决方案,但是我堆积起来,在互联网上找不到建议.

我的列表看起来像:

my_list = ['name1@1111','name2@2222','name3@3333']

通常,列表的每个元素都具有以下形式:namex @ some_number.
我想用很漂亮的方式来做字典,其中key = namex和value = some_number.我可以做到:

md = {}
for item in arguments:
    md[item.split('@')[0]] = item.split('@')[1]

但是我想在一行中做到这一点,列表理解或者某些东西.我试着做跟随,我想我离我想要的不远.

md2 = dict( (k,v) for k,v in item.split('@') for item in arguments )

但是,我收到错误:ValueError:太多值要解压缩.不知道如何摆脱这个.

解决方法

您实际上不需要创建元组的额外步骤

>>> my_list = ['name1@1111','name3@3333']
>>> dict(i.split('@') for i in my_list)
{'name3': '3333','name1': '1111','name2': '2222'}

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。