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

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

沒看懂為什么加+1

L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in enumerate(L):
#for index, name in zip(range(1,len(L)+1),L):
? ?print index+1, '-', name

正在回答

4 回答

因為range(m,n)指的是從m到n-1,也就是到n的前一個數,你可以試一下下面的代碼,看看打印結果你就明白啦

for v in range(1, 5):
? ?print(v)

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

慕粉1121137759 提問者

非常感謝!
2017-02-27 回復 有任何疑惑可以回復我~

因為enumerate函數作用在L上之后,index(序列號)默認是從0開始的,也就是0,1,2,3,而題目要求是從從1開始配對,所以index要加1

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

len(L)=4,range(1,len(L)+1)會產生1到4+1,但不包括5的序列數即【1,2,3,4】

enumerate(L)函數作用是計數,結果是0-'Adam' ?1-'Lisa',2-'Bart',3-'Paul'

zip()函數作用是返回一個tuple元祖類型的list,zip(range(1,len(L)+1,L)可以看成是zip([1,2,3,4],['Adam'],'Lisa','Bart','Paul')。結果是[(1,'Adam'),(2,'Lisa'),(3,'Bart'),(4,'Paul')],若要返回此結果,index就要+1




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

第二行和第三行任選一種都是可以的。第三行中,range(1,len(L)+1)是1到len(L)+1的整數序列list,zip函數將這兩個list合并成一個list,這樣就和enumerate() 函數的效果類似了。

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

舉報

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

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

進入課程

沒看懂為什么加+1

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

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

幫助反饋 APP下載

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

公眾號

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