請問python2.7和3.6同樣是for迴圈輸出字典內容為什麼排序不一樣
PHP中文网
PHP中文网 2017-05-18 10:45:20
0
2
603

請問為什麼使用2.7和3.6用相同的for輸出字典內容排序不一樣?

d = {'Adam':95,'Lisa':85,'Bart':59}
for k,v in d.items():
  print k,':',v
  #3.6的是print(k,':',k)

2.7輸出的內容

Lisa : 85
Adam : 95
Bart : 59

而3.6則是正常顯示

Adam:95
Lisa:85
Bart:59
PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
某草草

不要過於糾結字典的排序為何不一樣,字典本來就是無序的,如果要有序則需要在返回之前進行排序。在python3中一般會做這樣1個操作來減少對記憶體的使用。

黄舟

因為這個

https://docs.python.org/3/wha...

cython 3.6 換了種 dict 的實作方式,提升了效能,而鍵名自動排序是其附帶的一個小小的副作用。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板