首页  >  文章  >  后端开发  >  如何在 Python 3.7 及更高版本中按顺序索引字典

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

Barbara Streisand
Barbara Streisand原创
2024-10-17 18:10:02865浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn