我有一个名为data
的python字典变量,我试图获取'key_name'的值,如果它不存在,我希望它是None。
A = data.get('key_name')
B = data['key_name'] or None
我知道'key_name'是否为空字符串,A是''且B是None,也许还有一些其他原因我没有考虑,还有什么?比如,A可能比B更安全。
答案 0 :(得分:2)
这将引发KeyError,因此您无法使用它:
B = data['key_name'] or None
就Python而言,第一种选择是最标准的方法:
A = data.get('key_name')
如果您对其他数据类型持开放态度,则可以始终使用defaultdict。
你可以这样做,它也会起作用:
data = defaultdict(lambda: None)
C = data['key_name']
# C is now None
当您希望默认创建列表或类似的列表时,通常会使用defaultdicts
。文档涵盖了这些案例。