当前位置: 首页 > 面试题库 >

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

养振濂
2023-03-14
问题内容

今天,我遇到了该dict方法get,该方法在字典中给定键,然后返回关联的值。

此功能用于什么目的?如果我想找到与字典中的键相关联的值,我可以这样做dict[key],并且它返回相同的内容:

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

问题答案:

如果密钥丢失,它允许您提供默认值:

dictionary.get("bogus", default_value)

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

dictionary["bogus"]

会提出一个KeyError

如果省略,default_value则为None,这样

dictionary.get("bogus")  # <-- No default specified -- defaults to None

返回None就像

dictionary.get("bogus", None)


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

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

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

  • 问题内容: 听说您应该在样式表中使用em而不是像素来定义尺寸和距离。所以问题是,为什么在CSS中定义样式时应该使用em而不是px?有一个很好的例子可以说明这一点吗? 问题答案: 我问这个问题的原因是,我忘记了如何使用em,因为我在CSS中愉快地编程时已经很久了。人们没有注意到我把这个问题笼罩了,因为我并不是在谈论字体本身的大小。我对如何在页面上的 任何给定块元素 上定义样式更感兴趣。 正如Henr

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

  • 问题内容: Python 2.6引入了一个功能。 为什么有这个必要?可以总是输入而不是。 后者更多吗? 问题答案: PEP 3114描述了此更改。动机摘录: 该PEP建议将该方法重命名为,与Python中所有其他协议一致,在该协议中隐式调用方法作为语言级协议的一部分,并引入一个名为的内置函数来调用方法,与显式调用其他协议的方式。 请务必阅读此PEP,以获取更多有趣的细节。 至于为什么 你 要使用内