在 Python 中保留字典顺序
Python 中的字典本质上是无序的,这使得对其键进行排序具有挑战性。本文探讨按键对字典进行排序的方法。
标准字典
标准 Python 字典不维护(键,值)对的特定顺序。对 paris 进行排序会改变字典不可预测的顺序。
OrderedDict:解决方案
OrderedDict 类是 dict 的子类,可以解决此问题。它会记住元素的插入顺序,确保排序后键保持有序。
import collections # Sample dictionary d = {2: 3, 1: 89, 4: 5, 3: 0} # Create an OrderedDict with sorted keys od = collections.OrderedDict(sorted(d.items())) # Print the sorted OrderedDict print(od)
输出:
OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
访问值
尽管键已排序,OrderedDict 仍保留值的预期行为访问。
print(od[1]) # Prints 89 print(od[3]) # Prints 0
迭代
迭代 OrderedDict 会保留排序的键顺序。
for k, v in od.items(): print(k, v)
输出:
1 89 2 3 3 0 4 5
Python 3
在 Python 3 中,使用更新的语法来迭代项目:
for k, v in od.items(): print(k, v)
以上是Python排序时如何保持字典键顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!