2010-02-01 62 views
1

更新蟒蛇鏈

比方說,我有:

dic={"z":"zv", "a":"av"} 
## why doesn't the following return a sorted list of keys? 
keys=dic.keys().sort() 

我知道我可以做到以下幾點,並有正確的結果:

dic={"z":"zv", "a":"av"} 
keys=dic.keys() 
skeys=keys.sort() ### skeys will be None 

爲什麼不是第一示例工作?

+0

第二個例子末尾'skeys'的值是什麼,它和第一個例子末尾'keys'的值有什麼關係? – tzot 2010-02-01 19:52:30

回答

13

sort()修改現有列表的內容。它不返回一個列表。 See the manual

+0

應該已經閱讀了細則......謝謝! – jldupont 2010-02-01 18:59:34

+3

'x.sort()'的返回值總是'None'。它更新了'x',它沒有複製。 – 2010-02-01 18:59:42

+0

@jldupont,不用擔心......這一個投擲循環的人很多。 – 2010-02-01 19:09:49

16

.sort不返回列表。你可以這樣做:

keys = sorted(dic.keys()) 
+0

+1也適用於海報的解決方案 – 2010-02-01 22:09:00