Python 函数的作用是:保存订单?

Python 函数的作用是:保存订单?,python,dictionary,ordereddictionary,Python,Dictionary,Ordereddictionary,orderedDict.values()、.keys()、.iterkeys()等是否按照项目首次插入的顺序返回值 我假设values\keys函数不会改变dict的顺序,如果它是orderedDict,那么我会按照添加到字典中的顺序获取值 那是真的吗?你的假设是正确的OrderedDict维护一个(按顺序排列的)键列表,以迭代值和键,因此它们的排序方式将始终与for循环中的排序方式相同 报告中的评论也指出了这一点,说: 继承的dict提供了\uuuu getitem\uuuuuuuuuu、\u

orderedDict.values()、.keys()、.iterkeys()等是否按照项目首次插入的顺序返回值

我假设values\keys函数不会改变dict的顺序,如果它是orderedDict,那么我会按照添加到字典中的顺序获取值


那是真的吗?

你的假设是正确的
OrderedDict
维护一个(按顺序排列的)键列表,以迭代值和键,因此它们的排序方式将始终与
for
循环中的排序方式相同

报告中的评论也指出了这一点,说:

继承的dict提供了
\uuuu getitem\uuuuuuuuuu
\uuuu len\uuuuuu
\uuuu contains\uuuuuuuuuu
get
其余的方法是顺序感知的。所有方法的Big-O运行时间与常规字典相同

我的

orderedDict.values()、.keys()、.iterkeys()等是否按照项目首次插入的顺序返回值

是的,它们被保存了下来。从文件(我的重点):

OrderedDict对象之间的相等性测试是顺序敏感的,并且 实现为list(od1.items())==list(od2.items())。

这就是相等比较的方式,它意味着
items()
的结果是有序的。现在,对于其他两个函数,您可以查看