我感觉这很简单,我已经接近解决方案了,但是我卡住了,在互联网上找不到建议。
我有一个列表,看起来像:
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: too many values to unpack
。不知道该怎么解决。