Python2和Python3字典 字典序的區別

2021-10-19 19:00:44 字數 546 閱讀 6539

在python2中,

# python2

d =dict

(b=12

, a=12)

print d.keys(

)

[『a』, 『b』]

在python3中,

# python3

d =dict

(b=12

, a=12)

print

(d.keys(

))

dict_keys([『b』, 『a』])

可見python2, python3的字典keys的結果是不一樣的。因此,避免使用字典的keys的順序作為有序陣列。雖然,如果你一直使用python2,**似乎執行正確,但如果移植到python3,將造成結果錯誤,並難以排查。

如果必須使用字典,可以使用collections模組中的orderdict。這能保證在python2, python3中一致性。

python3和python2的區別

1.效能 py3.0執行 pystone benchmark的速度比py2.5慢30 guido認為py3.0有極大的優化空間,在字串和整形操作上可 以取得很好的優化結果。py3.1效能比py2.5慢15 還有很大的提公升空間。2.編碼 py3.x原始碼檔案預設使用utf 8編碼,這就使得以下 是合...

Python2和Python3的比較

python2 python3 print fish print fish unicode 是單獨的 unicode utf 8 字串 b b china byte 和 bytearrays type b type bytes s b.decode 轉化成 string 型別b1 s encode ...

python3和python2的區別

這個星期開始學習python了,因為看的書都是基於python2.x,而且我安裝的是python3.1,所以書上寫的地方好多都不適用於python3.1,特意在google上search了一下3.x和2.x的區別。特此在自己的空間中記錄一下,以備以後查詢方便,也可以分享給想學習python的frie...