我熟悉这样一个事实:在Python(<;3.6)中,在初始化时无法预测dict的顺序,例如:
d = {'B' : 2, 'A' : 1, 'C' : 3}
在我的计算机上创建此词典:
{'A': 1, 'C': 3, 'B': 2}
我的问题是,在初始化之后,顺序是否会保持不可预测,或者一旦写入内存,它就被修复了。为什么不是这样?(这假设字典在init之后没有写入)
换句话说,如果我跑
print(d.keys())
print(d.values())
连续两个结果总是匹配的吗?你知道吗
Tags:
这两个值将始终匹配。你知道吗
原因是^{} 对象实际上是一个^{} 数据结构,一旦它被初始化,it is now created in memory (RAM) of your computer。因此,除非有什么东西改变了那个内存块(例如,你的代码,你的编译器,或者一些不可预见的情况,比如基于内存的感染),否则你在内存中对那个对象的引用,即你的
dict
对象,永远不会改变。你知道吗相关问题 更多 >
编程相关推荐