在Python中,get
和[]
是用来访问字典(dict
)或字典样的对象(例如defaultdict
)中的元素的两种常见方式。它们有一些区别:
-
使用get
方法时,如果指定的键不存在于字典中,它会返回一个默认值(默认为None
,也可以自定义),而不会引发KeyError
异常。语法为:字典.get(键, 默认值)
。示例:my_dict.get('key', 'default')
。如果键存在,则返回对应的值;如果键不存在,则返回默认值。
-
使用[]
运算符时,如果指定的键不存在于字典中,它会引发KeyError
异常。语法为:字典[键]
。示例:my_dict['key']
。如果键存在,则返回对应的值;如果键不存在,则引发KeyError
异常。
下面是一个示例,演示了get
和[]
的区别:
my_dict = {'key1': 'value1', 'key2': 'value2'}
# 使用get方法
print(my_dict.get('key1', 'default')) # 输出:value1
print(my_dict.get('key3', 'default')) # 输出:default
# 使用[]运算符
print(my_dict['key1']) # 输出:value1
print(my_dict['key3']) # 引发KeyError异常,因为'key3'不存在于字典中
在线调试:
总结起来,使用get
方法可以在键不存在时提供一个默认值,而使用[]
运算符则会引发KeyError
异常。你可以根据具体的需求选择合适的方法来操作字典。