之前寫了文章介紹python中的串列和字典,在文章中描述到了python中的串列是有序的,字典是無序的,后來有粉絲在群里提醒我,說python3.6的版本之后,字典是有序的,因此,我找了一個低版本的python來驗證一下效果:
首先,從官網下載python3.4的版本,然后撰寫一行代碼驗證一下列印字典的所有key,查看列印出來的key的順序:
Python3.6以下版本:(以3.4版本為例)


你該不會以為只有使用keys()函式是無序的吧:

從上圖可以看出,分別在cmd視窗和pycharm中列印字典的key值,發現列印的順序每次重新在一個新的視窗運行,列印的順序都不一致,并且pycharm中會顯示,python3.4的版本在pycharm中已經不再支持了,
接下來再看下python3.6以上版本的效果:(以3.9版本為例)



從上圖可以看出,在新的版本中,python針對key的存盤已經變為有序,在遍歷和列印的時候,會按照存盤的順序進行取值,
再補充一點:之前介紹到,在字典中,key是唯一的,這里并不是說寫了不唯一的key就會報錯,只是會用后面的key和value去覆寫前面的key和value,
a = {'a': 1, 'b': 2, 'b': 3} # 在運行的時候不會報錯

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/303596.html
標籤:python
