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

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

為什么這兩種形式的打印結果不同,而迭代結果相同

第一種形式:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print d.values()

第二種形式:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print d.itervalues()


正在回答

3 回答

類似于 Java 中對象的 toString() 有關吧

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

那這兩個方法有何不同之處呢?

1.?values()?方法實際上把一個 dict 轉換成了包含 value 的list。

2. 但是?itervalues()?方法不會轉換,它會在迭代過程中依次從 dict 中取出 value,所以 itervalues() 方法比 values() 方法節省了生成 list 所需的內存。

3.?打印 itervalues() 發現它返回一個 <dictionary-valueiterator> 對象,這說明在Python中,for 循環可作用的迭代對象遠不止 list,tuple,str,unicode,dict等,任何可迭代對象都可以作用于for循環,而內部如何迭代我們通常并不用關心。


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

第一種是一次性取出value值作為一個list,第二種是依次取value值,所以如果單獨打印第二種應該是打不出結果的,要用循環將其打印出來

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

舉報

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

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

進入課程

為什么這兩種形式的打印結果不同,而迭代結果相同

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

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

幫助反饋 APP下載

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

公眾號

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