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

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

為什么參考代碼的結果不是 0 -(1,'Adam') 1 - (2, 'Lisa') 2 - (3, 'Bart') 3 - (4, 'Paul')

把for循環中的index去掉,直接用for name in zip(~~)不行嗎?

正在回答

2 回答

enumerate()函數所生成的索引才從0開始,而這里用的是zip()將1,2,3……和L拼合,再進行輸出,并沒有用到enumerate()函數,所以說索引沒有0開始,而如果用

L = ['Adam', 'Lisa', 'Bart', 'Paul']

for index, name in enumerate(zip(range(1,len(L)+1),L)):

? ? print index, '-', name

這樣的代碼,才會出現你所說的回顯

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

? ? 名次當然是從第一名開始的啊,range(1,len(L)+1)是列表[1,2,3,4],再跟L結合,不就是1 1 對應的關系了嗎。。。。

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

ZHU_WD 提問者

但是zip不是把兩個list變成一個list嗎?這個時候用for index, name in zip(N,L): 輸出的索引號不應該是從0開始的嗎?
2016-09-04 回復 有任何疑惑可以回復我~
#2

慕勒2752433 回復 ZHU_WD 提問者

for t in enumerate(L): index = t[0] name = t[1] print index, '-', name 迭代原理 index取得是tuple中第一個位置的內容,這里每個元素的第一個位置分別是1,2,3,4. 故應該是從1開始~
2016-10-21 回復 有任何疑惑可以回復我~
#3

xdfcc 回復 ZHU_WD 提問者

你沒有看教程解釋或者說沒看明白,通過for..in取到的是元素本身而不是索引值,雖然我們心里知道List的索引是從0開始,但并沒有一個方法提供可以直接獲取索引值!要想獲取元素的索引值就必須想其他辦法,如教程中提供的enumerate()方法,甚至是練習中提供的zip方法就是把我們知道的索引通過其他方法引入進去再取出來
2016-11-28 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

為什么參考代碼的結果不是 0 -(1,'Adam') 1 - (2, 'Lisa') 2 - (3, 'Bart') 3 - (4, 'Paul')

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

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

幫助反饋 APP下載

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

公眾號

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