服务器与本地机器上dict键的随机顺序[重复]

Posted

技术标签:

【中文标题】服务器与本地机器上dict键的随机顺序[重复]【英文标题】:Random order of dict keys on server vs local machine [duplicate] 【发布时间】:2019-06-03 10:47:02 【问题描述】:

解释这一点可能很难。我有一个很长很复杂的脚本。这个脚本的最终产物是一个嵌套字典(普通字典,不是OrderedDict)。

我无法解释的是,当我在本地机器上运行脚本时,字典始终具有相同的结构(键、值以及嵌套的键和值)。当我在服务器上运行相同的脚本时,我没有收到任何错误,但字典结构每次都会(随机)改变。键总是在不同的位置,因此嵌套的键和值。

任何想法为什么会发生这种情况?

可以是不同的python版本吗?在本地机器python3.6和服务器3.5上

【问题讨论】:

和***.com/q/30585108/1358308,因为您使用的是旧版本的 Python 是的,Python 3.7 之前的 Python 字典固有是无序的。在 Python 3.6 中,插入顺序是一个实现细节,而在 3.7+ 中,它是标准的一部分。 【参考方案1】:

是的,见here(在.values()下):

在 3.7 版更改:保证字典顺序为插入顺序。这种行为是 CPython 3.6 的实现细节。

【讨论】:

谢谢!我不知道这一点!

以上是关于服务器与本地机器上dict键的随机顺序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何打印除dict中的键之外的所有键的值[重复]

带有带有整数键的dict的python字符串格式()[重复]

用元组作为键的字典访问键值[重复]

本地机器上的 Web 服务器,有啥陷阱吗?

将新字典添加到现有字典作为键的值[重复]

远程 fs.readFile 的问题? (在本地工作,但不在服务器上)[关闭]