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

为什么这样不行

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

正在回答

3 回答

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

对,加粗部分直接可以去掉就ok

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

实际上,enumerate() 函数把:

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

变成了类似:

[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]

你可以理解为enumerate()相当于 zip(range(0,4),L)

这里要求名次要从1开始,而不是从0;所以就需要用到range()和zip()

按照你的写法,应该是这样:

L = ['Adam', 'Lisa', 'Bart', 'Paul']
L1 = range(1,5)
L3 = zip(L1,L)
for index, name in L3:
    print index, '-', name


1 回复 有任何疑惑可以回复我~
L3=zip(L1,L)    #L3=[(1,'Adam'),(2,'Lisa'),(3,'Bart'),(4,'Paul')]  已满足输出要求
enumerate(L3)   #==>[(0,(1,'Adam')),(1,(2,'Lisa')),(2,(3,'Bart')),(3,(4,'Paul'))]  多此一举了


3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

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

进入课程

为什么这样不行

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信