首页 >后端开发 >Python教程 >如何从 Python 字典创建有序的集合?

如何从 Python 字典创建有序的集合?

Barbara Streisand
Barbara Streisand原创
2024-12-28 22:28:16726浏览

How Can I Create a Sorted, Ordered Collection from a Python Dictionary?

按键对字典排序:获取有序集合

Python 字典的本质是无序的,除非引入 Python 3.7。虽然对(键,值)对进行排序可能会作为一种解决方案,但重要的是要承认,在将元素存储回字典时保留排序顺序是不可行的。

无缝地建立基于键值,使用 OrderedDict 类是最佳方法。该类具有保留其元素插入顺序的独特能力:

import collections

d = {2: 3, 1: 89, 4: 5, 3: 0}

# Construct an OrderedDict from sorted key-value pairs
od = collections.OrderedDict(sorted(d.items()))

print(od)  # OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])

尽管 od 的打印表示可能有所不同,但它将在后续交互过程中保持所需的顺序:

print(od[1])  # 89
print(od[3])  # 0

for k, v in od.items():
    print(k, v)  # 1 89, 2 3, 3 0, 4 5

Python 3 用户的注意事项

Python 3 用户应该使用迭代 OrderedDict 时使用 .items() 方法而不是 .iteritems() 来保持兼容性:

for k, v in od.items():
    print(k, v)  # 1 89, 2 3, 3 0, 4 5

以上是如何从 Python 字典创建有序的集合?的详细内容。更多信息请关注PHP中文网其他相关文章!

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