3

当我想在 Key 下将新值附加到 Dict 中时,我发现自己必须写:

# Dict={}
# Key = ....
# newvalue = ....

if not Key in Dict:
    Dict[Key] = [ newvalue ]
else:
    Dict[Key].append(newvalue)

它需要四行代码。python标准库有更简洁的方法吗?例如

Dict.appendkeyvalue(Key, newvalue)
4

2 回答 2

6

您可以使用defaultdict

from collections import defaultdict

d = defaultdict(list)

d['something'].append(3)
print d['something']
# > [3]
于 2012-09-15T12:08:17.110 回答
3

使用标准字典,您可以使用setdefault()

d = {}
d.setdefault("something", []).append(3)

setdefault()如果它存在则返回d["something"],否则它创建一个新的字典条目[]作为它的值并返回它。

于 2012-09-15T12:11:34.047 回答