Python安全字典密钥访问
我正在寻找一种方便、安全的python字典密钥访问方法。我想到了三种方法Python安全字典密钥访问,python,dictionary,logical-operators,Python,Dictionary,Logical Operators,我正在寻找一种方便、安全的python字典密钥访问方法。我想到了三种方法 data={'color':'yellow'} #接近一号 颜色_1=无 如果数据中有“颜色”: 颜色_1=数据['color'] #方法二 color_2=数据['color'],如果数据中的'color',则其他无 #方法三 def安全(obj,钥匙): 如果输入obj: 返回obj[键] 其他: 一无所获 color_3=安全(数据“color”) #输出 打印(“{},{},{}”。格式(颜色1,颜色2,颜色3))
data={'color':'yellow'}
#接近一号
颜色_1=无
如果数据中有“颜色”:
颜色_1=数据['color']
#方法二
color_2=数据['color'],如果数据中的'color',则其他无
#方法三
def安全(obj,钥匙):
如果输入obj:
返回obj[键]
其他:
一无所获
color_3=安全(数据“color”)
#输出
打印(“{},{},{}”。格式(颜色1,颜色2,颜色3))
当然,这三种方法都有效。但是,有没有一种简单的开箱即用的方法来实现这一点,而不必使用过多的if
s或自定义函数
我认为应该有,因为这是一个非常常见的用法。您错过了规范方法: 如果钥匙丢失,它将返回
None
。可以将其他默认值设置为第二个参数:
color_2 = data.get('color', 'red')
退房。如果在字典中找不到键,您可以提供一个返回值,否则它将返回None
>>> data = {'color': 'yellow'}
>>> data.get('color')
'yellow'
>>> data.get('name') is None
True
>>> data.get('name', 'nothing')
'nothing'
您的意思是,如果缺少密钥,您希望返回默认值?然后使用dict.get()。
>>> data = {'color': 'yellow'}
>>> data.get('color')
'yellow'
>>> data.get('name') is None
True
>>> data.get('name', 'nothing')
'nothing'