Python:从 zip 追加到字典
Python: Append to dictionary from a zip
假设我有以下列表,例如 [key,value, key,value, key,value]
我想把它变成一本看起来像这样的字典:
{key:value, key:value, key:value}
我试过了
dict(zip(mydict[::2], mydict[1::2]))
但是,其中一个键的原始值不断被覆盖。如果密钥已经存在,我该如何更改它以便将其附加到字典中?
不知道是不是我理解错了。字典中不能有重复的键。一个会覆盖另一个。
[in] >>> d = dict([('x',3),('x',4)])
[in] >>> print(d)
[out] >>> {'x': 4}
也许您正在考虑使用 defaultdict
[in] >>> from collections import defaultdict
[in] >>> d = defaultdict(list)
[in] >>> for k,v in [('x',3),('x',4)]:
>>> d[k].append(v)
[in] >>> print(d)
[out] >>> defaultdict(<class 'list'>, {'x': [3, 4]})
假设我有以下列表,例如 [key,value, key,value, key,value]
我想把它变成一本看起来像这样的字典:
{key:value, key:value, key:value}
我试过了
dict(zip(mydict[::2], mydict[1::2]))
但是,其中一个键的原始值不断被覆盖。如果密钥已经存在,我该如何更改它以便将其附加到字典中?
不知道是不是我理解错了。字典中不能有重复的键。一个会覆盖另一个。
[in] >>> d = dict([('x',3),('x',4)])
[in] >>> print(d)
[out] >>> {'x': 4}
也许您正在考虑使用 defaultdict
[in] >>> from collections import defaultdict
[in] >>> d = defaultdict(list)
[in] >>> for k,v in [('x',3),('x',4)]:
>>> d[k].append(v)
[in] >>> print(d)
[out] >>> defaultdict(<class 'list'>, {'x': [3, 4]})