dt = {}
key1 = 'key1'
key2 = 'key2'
val1 = 'v1'
val2 = 'v2'
# 用if的方法
if key not in dt:
dt[key1] = []
dt[key1].append(val1)
print(dt)
# ->> {'key1': ['v1']}
# 不用if
dt.setdefault(key2, []).append(val2)
print(dt)
#->> {'key1': ['v1'], 'key2': ['v2']}
# 除了列表还可以更新字典,set等
dt.setdefault('key3', {}).update({'a': 1})
print(dt)
# ->> {'key1': ['v1'], 'key2': ['v2'], 'key3': {'a': 1}}
# 更新字典
dt.setdefault('key3', {}).update({'b': 2})
# ->> {'key1': ['v1'], 'key2': ['v2'], 'key3': {'a': 1, 'b': 2}}
dt.setdefault('key3', {}).update({'b': 3})
# ->> {'key1': ['v1'], 'key2': ['v2'], 'key3': {'a': 1, 'b': 3}}
字典的setdefault方法,如果字典中key存在,返回key的值,如果不存在,返回传入的默认值