脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python中的字典到底是有序的吗

Python中的字典到底是有序的吗

2022-01-13 00:03小博测试成长之路 Python

很多人会问Python中的字典到底是有序的吗,本文就详细的来介绍一下,感兴趣的可以了解一下

之前写了文章介绍python中的列表和字典,在文章中描述到了python中的列表是有序的,字典是无序的,后来有粉丝在群里提醒我,说python3.6的版本之后,字典是有序的,因此,我找了一个低版本的python来验证一下效果:

首先,从官网下载python3.4的版本,然后编写一行代码验证一下打印字典的所有key。查看打印出来的key的顺序:

Python3.6以下版本:(以3.4版本为例)

Python中的字典到底是有序的吗

Python中的字典到底是有序的吗

你该不会以为只有使用keys()函数是无序的吧:

Python中的字典到底是有序的吗

从上图可以看出,分别在cmd窗口和pycharm中打印字典的key值,发现打印的顺序每次重新在一个新的窗口运行,打印的顺序都不一致。并且pycharm中会显示,python3.4的版本在pycharm中已经不再支持了。

接下来再看下python3.6以上版本的效果:(以3.9版本为例)

Python中的字典到底是有序的吗

Python中的字典到底是有序的吗

Python中的字典到底是有序的吗

从上图可以看出,在新的版本中,python针对key的存储已经变为有序,在遍历和打印的时候,会按照存储的顺序进行取值。

再补充一点:之前介绍到,在字典中,key是唯一的。这里并不是说写了不唯一的key就会报错,只是会用后面的key和value去覆盖前面的key和value。

a = {'a': 1, 'b': 2, 'b': 3}   # 在运行的时候不会报错

Python中的字典到底是有序的吗

到此这篇关于Python中的字典到底是有序的吗的文章就介绍到这了,更多相关Python字典有序内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/liboshi123/article/details/120501807

延伸 · 阅读

精彩推荐