【发布时间】:2022-01-25 03:05:33
【问题描述】:
据我了解,Python 中的字典是从 Python 3.7 开始排序的。给定一个包含 N 个条目的字典,我应该能够为每个键关联一个从 0 到 N-1 的索引。我的问题是,给定一个键,有没有办法以有效的方式检索这个索引?似乎应该有一种比检索键列表和搜索感兴趣的特定键更有效的方法。
【问题讨论】:
-
为什么需要这样做?字典是通过键而不是索引访问的。 3.7 中的变化是保证正常的 dicts 保持插入顺序,但据我所知,没有新工具添加到 determine 该顺序。您可能需要考虑改用
OrderedDict。 -
@MattDMo 的用例是我有一个项目集合,可以通过与它们关联的键最方便地访问这些项目。但是,我还想构建与这些项目相关联的向量/矩阵,其中每个基本元素对应于这些项目中的每一个。因此,为这些项目中的每一项设置一个 0 到 N-1 的索引似乎很自然。我不确定您对我的问题的这种有限描述可以提供多少建议,但如果有另一种听起来更适合此的数据结构,我会很感激为我指明正确的方向。
-
您是否对字典进行了很多更改,尤其是从中删除项目?
-
@KellyBundy 不,字典一旦建立起来就是静态的。
-
然后构建第二个字典,将键映射到索引。
标签: python python-3.x dictionary