Python safe dictionary key access
本问题已经有最佳答案,请猛点这里访问。
我正在寻找一种方便、安全的python字典密钥访问方法。我想到了三种方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | data = {'color': 'yellow'} # approach one color_1 = None if 'color' in data: color_1 = data['color'] # approach two color_2 = data['color'] if 'color' in data else None # approach three def safe(obj, key): if key in obj: return obj[key] else: return None color_3 = safe(data, 'color') #output print("{},{},{}".format(color_1, color_2, color_3)) |
当然,这三种方法都有效。但是,是否有任何简单的现成方法来实现这一点,而不必使用多余的
我认为应该有,因为这是一个非常常见的用法。
你错过了标准方法,
1 | color_1 = data.get('color') |
如果钥匙丢失,它将返回
1 | color_2 = dict.get('color', 'red') |
查看
1 2 3 4 5 6 7 | >>> data = {'color': 'yellow'} >>> data.get('color') 'yellow' >>> data.get('name') is None True >>> data.get('name', 'nothing') 'nothing' |