gpt4 book ai didi

python - 为什么 dict 和 dict.items() 的顺序不同?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:18 25 4
gpt4 key购买 nike

>>> d = {'A':1, 'b':2, 'c':3, 'D':4}

>>> d
{'A': 1, 'D': 4, 'b': 2, 'c': 3}

>>> d.items()
[('A', 1), ('c', 3), ('b', 2), ('D', 4)]

当我调用 d.items() 时,顺序是否随机两次?或者它只是以不同的方式随机化?有没有其他方法可以使 d.items() 返回与 d 相同的顺序?

编辑:似乎是一个 IPython 的东西,它自动对 dict 进行排序。通常 dict 和 dict.items() 应该是相同的顺序。

最佳答案

您似乎已经在 IPython 上对此进行了测试。 IPython 为各种类型使用自己专门的 pretty-print 工具,并且字典的 pretty-print 在打印之前对键进行排序(如果可能的话)。 d.items() 调用不会对键进行排序,因此输出不同。

在普通的 Python session 中,dict 的 repr 中的项目顺序将与 items 方法中的项目顺序相匹配。只要不修改字典,字典迭代顺序就应该是稳定的。 (此保证未明确扩展到字典的 repr,但如果 repr 中的隐式迭代破坏了与其他形式的字典迭代的一致性,那将是令人惊讶的。)

关于python - 为什么 dict 和 dict.items() 的顺序不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com