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