課程
/后端開發
/Python
/初識Python
d = {
? ? 'Adam': 95,
? ? 'Lisa': 85,
? ? 'Bart': 59
}
for value in d:
? ? print value
? 為什么我輸入的是value 但是 同樣打印出來的結果卻是key呢??
2015-04-13
源自:初識Python 6-5
正在回答
對于dict,它的keys必須是唯一的也是可枚舉的(enumerable),所有對于
for?value?in?d: ????print?value?//打印出來的也就是它的keys
?比較深入的理解,是要認識__iter__這個特殊函數,對于dict d,iter(d) 返回的是d的一個iterator,你可以做以下的實驗:
In?[12]:?d Out[12]:?{'Adam':?95,?'Bart':?59,?'Lisa':?85} In?[13]:?i=iter(d) In?[14]:?i.next() Out[14]:?'Lisa' In?[15]:?i.next() Out[15]:?'Adam' In?[16]:?i.next() Out[16]:?'Bart'
在for循環里頭,其實每次隱式的調用d的iterator,然后打印出當前iterator所指向的元素,再call next()移動iterator。
TheRedWolf 提問者
for 后面的是變量名,名字可以隨便起
for k, v in d:
??? print v
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-04-13
對于dict,它的keys必須是唯一的也是可枚舉的(enumerable),所有對于
?比較深入的理解,是要認識__iter__這個特殊函數,對于dict d,iter(d) 返回的是d的一個iterator,你可以做以下的實驗:
In?[12]:?d Out[12]:?{'Adam':?95,?'Bart':?59,?'Lisa':?85} In?[13]:?i=iter(d) In?[14]:?i.next() Out[14]:?'Lisa' In?[15]:?i.next() Out[15]:?'Adam' In?[16]:?i.next() Out[16]:?'Bart'在for循環里頭,其實每次隱式的調用d的iterator,然后打印出當前iterator所指向的元素,再call next()移動iterator。
2015-08-17
for 后面的是變量名,名字可以隨便起
2015-04-14
for k, v in d:
??? print v