比如我定義了一個字典shop = {'apple': 5,'orange': 3}for kind in shop.keys():print(kind)但是我這樣寫shop = {'apple': 5,'orange': 3}for kind in shop:print(kind)
2 回答

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
keys返回的是包含所有鍵的一個列表,而字典名本身代表字典這個對象。之所以for循環能直接作用于字典名上是因為字典類中實現了iter()方法,它會返回一個迭代器,這個迭代器能逐一返回字典中的每個鍵。

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
在python2.2之前,只能用keys等字典方法來獲取鍵(因為不允許直接迭代字典)。
在那之后就可以直接迭代字典了,循環字典默認是key值。
所以這兩種方式都可以,是一樣的。
如果只需要值,可以使用d.values代替d.keys。
獲取鍵值對的話用這種方式
for key, value in d.items():
添加回答
舉報
0/150
提交
取消