初始化后字典顺序会改变吗?

2024-04-26 18:28:14 发布

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

我熟悉这样一个事实:在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: 内存lt字典顺序init计算机keysdict
1条回答
网友
1楼 · 发布于 2024-04-26 18:28:14

这两个值将始终匹配。你知道吗

原因是^{}对象实际上是一个^{}数据结构,一旦它被初始化,it is now created in memory (RAM) of your computer。因此,除非有什么东西改变了那个内存块(例如,你的代码,你的编译器,或者一些不可预见的情况,比如基于内存的感染),否则你在内存中对那个对象的引用,即你的dict对象,永远不会改变。你知道吗

相关问题 更多 >