亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么 我輸入的是 value 同樣也可以打印出來的 是key

d = {

? ? 'Adam': 95,

? ? 'Lisa': 85,

? ? 'Bart': 59

}

for value in d:

? ? print value

? 為什么我輸入的是value 但是 同樣打印出來的結果卻是key呢??

正在回答

3 回答

對于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。

0 回復 有任何疑惑可以回復我~
#1

TheRedWolf 提問者

非常感謝!謝謝
2015-08-18 回復 有任何疑惑可以回復我~

for 后面的是變量名,名字可以隨便起

0 回復 有任何疑惑可以回復我~

for k, v in d:

??? print v

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758323    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為什么 我輸入的是 value 同樣也可以打印出來的 是key

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號