当前位置: 首页 > 知识库问答 >
问题:

为什么dict.get(key)而不是dict[key]?

骆文华
2023-03-14

这个功能有什么用处?如果我想在字典中查找与键相关联的值,我可以执行dict[key],它返回相同的内容:

dictionary = {"Name": "Harry", "Age": 17}
dictionary["Name"]
dictionary.get("Name")

共有1个答案

倪振海
2023-03-14

它允许您在缺少键的情况下提供默认值:

dictionary.get("bogus", default_value)

返回default_value(无论您选择它是什么),而

dictionary["bogus"]

将引发keyerror

dictionary.get("bogus")  # <-- No default specified -- defaults to None
dictionary.get("bogus", None)
 类似资料:
  • 问题内容: 今天,我遇到了该方法,该方法在字典中给定键,然后返回关联的值。 此功能用于什么目的?如果我想找到与字典中的键相关联的值,我可以这样做,并且它返回相同的内容: 问题答案: 如果密钥丢失,它允许您提供默认值: 返回(无论您选择的是什么),而 会提出一个。 如果省略,则为,这样 返回就像

  • 在运行一个数字积分器时,我注意到根据我在字典中提取字段值的方式,速度有明显的不同 在我的系统上,我注意到以下差异(使用 iPython) 相比于 这似乎是一个很小的差异,但是对于某些阵列来说,这种差异甚至更大。是什么导致了这种行为,有什么方法可以改变我对< code>get()函数的使用吗?

  • 问题内容: 在使用一些内置函数(如sorted,sum)时,我注意到 什么是lambda?它是如何工作的? 还有哪些其他功能使用key = lambda? 还有其他关键值吗? 问题答案: A是一个匿名函数: 它经常用在诸如以callable作为参数(通常是关键字形参)的函数中。您可以提供一个现有的函数,而不是那里的函数,只要它是一个可调用的对象即可。 以功能为例。它将以排序顺序返回给定的itera

  • 问题内容: 什么是决定不具有的接口完全通用的get方法背后的原因。 为了澄清这个问题,方法的签名是 代替 我想知道为什么(与相同)。 问题答案: 正如其他人所提到的,之类的原因不是通用的,因为你要检索的条目的键不必与你传递给的对象的类型相同;方法的规范仅要求它们相等。这从方法如何将对象作为参数(而不仅仅是与对象相同的类型)中得出。 尽管通常已经定义了许多类,以便其对象只能等于其自己的类的对象,这确

  • 我试图理解背后的动机。如果已经存在类型类和,为什么有必要呢? 诚然,的实例是具体的类型,而的实例需要一个类型参数。(有关有用的解释,请参见Monoid vs MonadPlus。)但是你不能重写任何类型的约束吗 作为和的组合? 从。它的实施是: 我只能使用和实现它: 有人能澄清和之间的真正区别吗?

  • 问题内容: 我已经在Android代码中使用FloatBuffers一段时间了(从一些opengles教程中复制了它),但是我无法确切地理解此构造是什么以及为什么需要它。 例如,我在许多人的代码和android教程中看到了以下代码(或类似代码): 就我所知,这似乎是冗长和混乱的,我只是说它们只是一个浮点数的包装而已。 问题: 与任何其他类型的float集合或简单数组相反,这种类型的类(ByteBu