为了账号安全,请及时绑定邮箱和手机立即绑定

没看懂为什么加+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
  • 参与学习       758351    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

没看懂为什么加+1

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号