請問為什麼使用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
某草草2017-05-18 10:47:20
不要過於糾結字典的排序為何不一樣,字典本來就是無序的,如果要有序則需要在返回之前進行排序。在python3中一般會做這樣1個操作來減少對記憶體的使用。
黄舟2017-05-18 10:47:20
因為這個
https://docs.python.org/3/wha...
cython 3.6 換了種 dict 的實作方式,提升了效能,而鍵名自動排序是其附帶的一個小小的副作用。