当我想在 Key 下将新值附加到 Dict 中时,我发现自己必须写:
# Dict={}
# Key = ....
# newvalue = ....
if not Key in Dict:
Dict[Key] = [ newvalue ]
else:
Dict[Key].append(newvalue)
它需要四行代码。python标准库有更简洁的方法吗?例如
Dict.appendkeyvalue(Key, newvalue)
当我想在 Key 下将新值附加到 Dict 中时,我发现自己必须写:
# Dict={}
# Key = ....
# newvalue = ....
if not Key in Dict:
Dict[Key] = [ newvalue ]
else:
Dict[Key].append(newvalue)
它需要四行代码。python标准库有更简洁的方法吗?例如
Dict.appendkeyvalue(Key, newvalue)
您可以使用defaultdict
:
from collections import defaultdict
d = defaultdict(list)
d['something'].append(3)
print d['something']
# > [3]
使用标准字典,您可以使用setdefault()
:
d = {}
d.setdefault("something", []).append(3)
setdefault()
如果它存在则返回d["something"]
,否则它创建一个新的字典条目[]
作为它的值并返回它。