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

使用Python字典作为键(非嵌套)

齐夕
2023-03-14
问题内容

Python不允许将字典用作其他字典中的键。有使用非嵌套字典作为键的解决方法吗?


问题答案:

如果您有一本真正不变的字典(尽管我不清楚为什么不只使用成对列表:eg [('content-type', 'text/plain'), ('host', 'example.com')]),那么您可以将其转换dict为:

  1. 成对的元组。您已经在问题中做到了。tuple需要A而不是list因为结果依赖于元素的顺序和不变性。

    >>> tuple(sorted(a.items()))
    
  2. 冻结集。从数学的角度来看,这是一种更合适的方法,因为它只需要不可变元素上的 等式关系dict,而第一种方法除等式外还需要排序关系。

    >>> frozenset(a.items())
    


 类似资料:
  • 问题内容: 假设你有一个像这样的字典: 你将如何将其扁平化为: 问题答案: 基本上与展平嵌套列表的方式相同,只需要做额外的工作即可按键/值迭代字典,为新字典创建新键并在最后一步创建字典。

  • 问题内容: 我有以下列表,其中包含重复的具有不同值的汽车注册号。我想将其转换为字典,该字典接受汽车登记号的多个键。 到目前为止,当我尝试将列表转换为字典时,它消除了键之一。如何制作具有重复键的字典? 清单是: 我试过的代码是: 问题答案: Python字典不支持重复键。一种解决方法是将列表或集合存储在字典中。 一种简单的方法是使用: 你要做的就是更换 与 你将获得一个列表字典。

  • 问题内容: 对于什么可以/不能用作python dict的键,我有些困惑。 因此,元组是不可变的类型,但是如果我在其中隐藏一个列表,那么它就不能成为键。.我不能像在模块内部一样轻松地隐藏一个列表吗? 我有一个模糊的想法,认为密钥必须是“可哈希的”,但是我只是承认自己对技术细节的无知。我不知道这里到底发生了什么。如果您尝试使用列表作为键,而将哈希作为其存储位置,那会出什么问题呢? 问题答案: Pyt

  • 问题内容: 我正在开发一类分析微量滴定板的课程。样本在单独的文件中描述,并且条目用于有序词典。关键之一是pH,通常以浮点数给出。例如6.8 我可以将其导入为十进制,以避免将浮点数作为dict键。另一种解决方案是将点替换为例如6p8之类的p或在我的样本描述中写入6p8,从而从一开始就消除了问题。但这会在以后引起麻烦,因为我无法在图中绘制6p8的pH值。 您将如何解决这个问题? 问题答案: 使用浮点数

  • 问题内容: 我在理解Python3中的嵌套字典理解时遇到了麻烦。从下面的示例中得到的结果输出的是正确的结构,没有错误,但仅包含一个内部键:值对。我还没有找到像这样的嵌套字典理解的例子。谷歌搜索“嵌套词典理解python”显示了遗留示例,非嵌套理解或使用其他方法解决的答案。我可能使用了错误的语法。 例: 此示例应返回原始字典,但内部值由修改。 outside_dict词典的结构以及结果: 问题答案:

  • 问题内容: 我有一个复杂的字典结构,我想通过一个键列表来访问该字典以解决正确的项。 要么 我已经制作了下面的代码,但是可以肯定的是,如果有人有想法,那么我可以找到一种更好,更有效的方法。 问题答案: 使用遍历词典: 并重用以查找用于存储值的位置: 除了最后一个元素外,所有元素都需要查找“父”字典以将值添加到其中,然后使用最后一个元素将值设置为右键。 演示: 请注意,样式指南规定了函数的名称。上面的