python - python dict str() 函数是否可靠地对键进行排序?

标签 python string dictionary

在 python 中,字典 {1:1,2:2,3:3}{3:3,2:2,1:1}产生 "{1:1,2:2,3:3}" 当 str()'d?

我能否依赖这种排序,或者至少依赖于包含相同键/值对的字典在通过 str() 函数时会生成相同的字符串这一事实?

最佳答案

您不能依赖这两个属性中的任何一个。字典转换为字符串时的顺序还取决于键/值对的插入顺序。

只要对 Python 源代码有一点了解(观看 PyCon 2010 中的 The Mighty Dictionary),或者通过反复试验,您可以轻松找到反例:

>>> {1: 1, 9: 9}
{1: 1, 9: 9}
>>> {9: 9, 1: 1}
{9: 9, 1: 1}

关于python - python dict str() 函数是否可靠地对键进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8289418/

相关文章:

python - 如何按排序顺序遍历字典键

python - 调整pandas read_sql_query NULL值处理?

python - 深度优先搜索 : return values

php - 解析 php 中所有匹配模式的字符串

java - 拆分 - 如何在结果中获取尾随的空字符串

dictionary - Leaflet 和 Mapbox 是什么,它们有什么区别?

Python 从多个单独的变量构建数据框

python - 如何对列表 [(a, b), (b, c),(c, d)] 中链接开始和结束值的元组进行排序?

python - 使用 Python 正则表达式在字符之间拆分字符串

dictionary - 如何安全地允许当前访问go中的嵌套 map ?