我正在研究列表和元组之间的区别(在Python中)。一个明显的例子是,元组是不可变的(在初始赋值后不能更改值),而列表是可变的。
文章中的一句话让我明白了:
只能将不可变元素用作字典键,因此只能将元组而不是列表用作键。
我很难考虑要使用元组作为字典键的情况。您能否提供一个示例问题,说明这是自然,高效,优雅或显而易见的解决方案?
编辑:
感谢您的示例。到目前为止,我认为一个非常重要的应用程序是函数值的缓存。
经典示例:您要将点值存储为(x,y)的元组
问题内容: 今天,在浏览各种问题时,我遇到了一个问题,在我看来有点不可思议,为什么一个人要在上面加上a ,对于这种情况会不会有什么真正的原因,所以这只是微不足道的吗? 问题答案: 动画图像作为GUI的BG。我使用HTML来调整此尺寸(x3),但是如果它已经是所需的尺寸,则可以直接将其设置为标签的。 不知道它是否是“真正的”。这似乎是一个主观术语,需要更多说明。我从来没有使用过这种方法,只是想通了,
问题内容: 我想知道我能否以某种方式使用x,y对作为字典的键 但是我得到了错误: 和错误: 那么..我们怎样才能使其符合标准? 问题答案: 的定义是,即密钥的类型必须符合协议。但是语言指南告诉我们协议可以被类,结构和枚举所采用,即不能被元组所采用。因此,元组不能用作键。 一种解决方法是定义一个包含两个Ints的可哈希结构类型(或您要放入元组的任何内容)。
问题内容: 我正在使用节点4.1.1。当我运行这段代码 我得到这个错误 如果我将代码重新排列为 我得到了预期的结果。 为什么第二个起作用,而第一个失败?可以肯定的是,如果关键字是保留关键字,那么它在所有上下文中都是保留的,而不仅仅是在箭头函数中使用时? 问题答案: 这是因为箭头功能不是生成器功能。例如, 我们可以期望它起作用吗?否。因为不是生成器函数。同样适用于箭头功能。 FWIW,根据ECMAS
请问我们在使用类型注释的时候,何时使用type class名,何时使用class名呢? 我经过如下实验: 比如以上,是否是返回类型为class名称的时候,使用 typeof class名,返回类对象的时候,使用class名?
本文向大家介绍datanode在什么情况下不会备份相关面试题,主要包含被问及datanode在什么情况下不会备份时的应答技巧和注意事项,需要的朋友参考一下 解答: 当分备份数为1时。
问题内容: 对于什么可以/不能用作python dict的键,我有些困惑。 因此,元组是不可变的类型,但是如果我在其中隐藏一个列表,那么它就不能成为键。.我不能像在模块内部一样轻松地隐藏一个列表吗? 我有一个模糊的想法,认为密钥必须是“可哈希的”,但是我只是承认自己对技术细节的无知。我不知道这里到底发生了什么。如果您尝试使用列表作为键,而将哈希作为其存储位置,那会出什么问题呢? 问题答案: Pyt