索引到字典: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中文网其他相关文章!