我.get()用来查询字典中可能存在或不存在的键.
In [1]: a = {'hello': True}
In [3]: print(a.get('world'))
None
Run Code Online (Sandbox Code Playgroud)
但是,我有字典,我要检查的密钥在结构中更深,我不知道祖先是否存在.如果是dict b = {'x': {'y': {'z': True}}},我必须诉诸
In [5]: b.get('x') and b['x'].get('y') and b['x']['y'].get('z')
Out[5]: True
Run Code Online (Sandbox Code Playgroud)
检查'z'时,我不知道是否'x'和'y'存在?
您可以返回空字典对象dict.get()以简化链接调用:
b.get('x', {}).get('y', {}).get('z')
Run Code Online (Sandbox Code Playgroud)
但也许你最好去捕捉KeyError异常:
try:
value = b['x']['y']['z']
except KeyError:
value = None
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |