如何在 Python 3.7 及更高版本中按顺序索引字典

Barbara Streisand
发布: 2024-10-17 18:10:02
原创
768 人浏览过

How to Index into a Dictionary Sequentially in Python 3.7 and Later

索引到字典:Python 3.7 及更高版本的方法

在字典中,通过键访问值是典型的操作。然而,在某些情况下,可能需要按顺序索引字典的条目,就像它是一个列表一样。然而,与列表不同,字典没有固有的顺序。

Python 3.7 之前的字典

在 3.7 之前的 Python 版本中,字典没有顺序,并且访问使用像颜色[0]这样的索引的第一个条目将导致KeyError。

Python 3.7及更高版本中的有序字典

从Python 3.7开始,字典已经变成保留顺序,意味着它们保持插入的顺序。此行为类似于集合模块中的 OrderedDict。

访问第一个条目

尽管有新的排序,但仍然没有专用的方法来索引字典的直接键或值。但是,可以使用以下方法:

  • 转换为列表: 创建键或值的列表并访问第一项,如下所示:
<code class="python">first_key = list(colors)[0]
first_val = list(colors.values())[0]</code>
登录后复制
  • 使用自定义函数:定义一个辅助函数来迭代键,根据其索引返回所需的条目:
<code class="python">def get_first_key(dictionary):
    for key in dictionary:
        return key
    raise IndexError

first_key = get_first_key(colors)
first_val = colors[first_key]</code>
登录后复制

访问第 n 个条目

为了索引第一个之外的键或值,可以使用类似的自定义函数方法:

<code class="python">def get_nth_key(dictionary, n=0):
    if n < 0:
        n += len(dictionary)
    for i, key in enumerate(dictionary.keys()):
        if i == n:
            return key
    raise IndexError("dictionary index out of range") </code>
登录后复制

通过使用这些方法,您可以以类似于列表的方式对字典进行索引,即使字典本质上不是有序的。

以上是如何在 Python 3.7 及更高版本中按顺序索引字典的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!