理解Python字典的顺序

WBOY
发布: 2024-02-09 20:42:04
转载
545 人浏览过

理解Python字典的顺序

问题内容

有人可以解释一下 python (v3.5) 字典是如何排序的吗?

data = {"john": 23, "rick": 33, "mary": 63, "ron": 23, "joel": 51}

for key in data:
        print("your name is " + key + ", and you are also " + str(data[key]) + " years old.")
登录后复制

实际输出:

your name is rick, and you are also 33 years old.
your name is ron, and you are also 23 years old.
your name is mary, and you are also 63 years old.
your name is john, and you are also 23 years old.
your name is joel, and you are also 51 years old.
登录后复制

预期输出(字典的顺序):

Your name is John, and you are also 23 years old.
Your name is Rick, and you are also 33 years old.
Your name is Mary, and you are also 63 years old.
Your name is Ron, and you are also 23 years old.
Your name is Joel, and you are also 51 years old.
登录后复制

正确答案


这取决于您使用的 Python 版本。

Python 3.6 之前

字典使用底层哈希函数的排序。多种类型具有加盐哈希,因此这意味着您在每次调用时获得不同的顺序。

Python 3.6+

字典是按插入顺序排列的,即字典会记住插入项目的顺序。来自文档

Python 3.7

Guido van Rossum 在 中宣布从 Python 3.7 开始所有 Python 实现都必须保留插入顺序

以上是理解Python字典的顺序的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!