为什么 dict.get(key) 而不是 dict[key]?
问题描述
今天,我遇到了 dict
方法 get
,它给定字典中的键,返回关联的值.
Today, I came across the dict
method get
which, given a key in the dictionary, returns the associated value.
这个函数有什么用途?如果我想在字典中找到与某个键关联的值,我可以执行 dict[key]
,它会返回相同的内容:
For what purpose is this function useful? If I wanted to find a value associated with a key in a dictionary, I can just do dict[key]
, and it returns the same thing:
dictionary = {"Name": "Harry", "Age": 17}
dictionary["Name"]
dictionary.get("Name")
解决方案
它允许您在缺少键时提供默认值:
It allows you to provide a default value if the key is missing:
dictionary.get("bogus", default_value)
返回 default_value
(无论你选择什么),而
returns default_value
(whatever you choose it to be), whereas
dictionary["bogus"]
会引发 KeyError
.
如果省略,default_value
为 None
,这样
If omitted, default_value
is None
, such that
dictionary.get("bogus") # <-- No default specified -- defaults to None
返回 None
就像
dictionary.get("bogus", None)
会的.
相关文章