从字符串列表中的拆分字符串创建字典

Create dictionary from splitted strings from list of strings

我觉得这很简单,我接近解决方案,但我堆积如山,无法在 Internet 上找到建议。
我的列表如下所示:

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

一般来说,列表中的每个元素都具有以下形式:namex@some_number.
我想以漂亮的方式制作字典,其中包含 key = namexvalue = 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。不知道如何摆脱这个。

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

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