日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python从小到大的顺序输出_「小白专栏」Python中使用for循环,为什么输出结果不是按顺序?...

發布時間:2024/7/23 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python从小到大的顺序输出_「小白专栏」Python中使用for循环,为什么输出结果不是按顺序?... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎各位小哥哥小姐姐閱讀本的文章,對大家學習有幫助,請點贊加關注哦!!!!!!!!!!

您的點贊和關注將是我持續更新的動力呢.^v^

有不懂的問題可以私聊我哦!

前言

如圖,為什么輸出的不是按Jen, Sarah, Phil, Edward的順序呢?

大家可以先想想為什么?

思考解答

字典是無序的了,我再具體講講為什么無序吧。

1。字典的查找效率很高,代價則是內存開銷較大。

對于數值型元素的查找:逐個查找的算法復雜度是O(N);用MergeSort排序+二分法查找的算法復雜度是O(N*log(N));而用字典查找的算法復雜度接近O(1)。(當hash function沒有沖突時)。

2。字典是怎么實現高效率查找的。

字典對key值主要做了兩個處理:

  • 用hash table將key值轉換成int
  • 新建了一個list,將key轉化的int作為作為index,value作為該index下的element。(這就是為什么dict的開銷會更大)

3。所以你print出來的順序其實是hash table映射后的數值的順序

但是這個hash table取決于很多其他因素,包括編譯器版本、字典的增刪歷史等。所以實質上是non-random的。

可參考:https://docs.python.org/3/library/stdtypes.html#dictionary-view-objects

最后多說一句,小編是一名python開發工程師,這里有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,并在后臺私信小編:“01”即可領取。

總結

以上是生活随笔為你收集整理的python从小到大的顺序输出_「小白专栏」Python中使用for循环,为什么输出结果不是按顺序?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。