python中的字典不保持顺序是什么意思?在这种情况下,秩序到底意味着什么?

2024-06-17 08:01:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习python的基础知识,并试图完全理解编程的逻辑。在关于词典的教程中,它说它们不遵循顺序,我真的不明白,但我觉得这是一个重要的部分来理解


Tags: 顺序编程教程逻辑词典基础知识
1条回答
网友
1楼 · 发布于 2024-06-17 08:01:38

考虑python3.7中的两个dict实例:

>>> d1 = {'a': 1, 'b': 2}
>>> d2 = {'b': 2, 'a': 1}

dict记住插入键的顺序,但仅将该信息用于迭代键。只要一组键是相同的,并且每个键映射到相同的值,两个dict就被认为是相等的,而不管它们的迭代顺序如何

>>> d1 == d2
True
>>> list(d1)
['a', 'b']
>>> list(d2)
['b', 'a']

但是,OrderedDict将插入顺序视为值本身的整数属性

>>> from collections import OrderedDict
>>> od1 = OrderedDict(d1)
>>> od2 = OrderedDict(d2)
>>> list(od1)
['a', 'b']
>>> list(od2)
['b', 'a']
>>> od1 == od2
False

相关问题 更多 >