Skip to main content
 首页 » 编程设计

python之.get 和字典

2025年05月04日10jackei

我是一名新的 Python 程序员,我正在阅读字典的 .get 方法,所以我尝试自己使用它。我尝试了一些非常简单的代码:

h = dict() 
h.get('a', 1) 
print (h) 

解释器只返回:

{} 

我知道 .get 方法在找不到您要求的键时会返回您提供的默认值,但它真的会在字典中创建新键和存储桶吗?如果是这样,为什么我的代码不返回新项目?谢谢

请您参考如下方法:

不,如果不存在,get 不会向字典添加条目。它不做任何修改。

>>> h = dict() 
>>> h.get('a', 1) 
1 
>>> h 
{} 

从字典读取时,[] 也是如此;它会为不存在的键抛出错误。这与 C++ 不同,在 C++ 中,[] 将添加条目(如果条目不存在的话)。

>>> h['a'] 
Traceback (most recent call last): 
  File "<stdin>", line 1, in <module> 
KeyError: 'a' 
>>> h 
{} 

但是要知道 Python 可以区分读取和写入。分配给一个不存在的键将创建它,即使读取一个不存在的键会引发异常。

>>> h['a'] = 1 
>>> h 
{'a': 1}