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

参考答案看不懂,有没有更容易理解的答案

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

正在回答

1 回答

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

分开来看能简单一些, 首先:

for index, name in zip(xxx):

这个xxx 需要是两个 iterable 类型, 列表就是这个类型, 那么 在上面这个例子中, zip() 中的两个列表是什么呢?

range(1, len(L)+1)
L

L 就是 上面定义的列表, range(1,len(L)+1) 在这个例子里 就是range(1,5), 那么 在Python 2.x 中 它其实也是个列表: [1,2,3,4] (不包含5)。

至此,传给 zip() 的两个参数就明了了, 一个是列表L , 一个是 1至4 的列表。 那么 zip() 这个函数有什么功能呢?

在这个for xx1, xx2 in zip (list1, list2): 的作用就是 每次迭代(循环) 分别的从 list1 中拿出一个值给xx1, 从list2 中拿出一个值 给xx2, 且是顺序取值。 


呃, 好像不能再细讲了, 举个例子吧:

for i , j in zip([1,2,3],['a','b','c']):
    print i,':'j
    
1 : a
2 : b
3 : c


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

没有什么不可能 提问者

非常感谢!
2016-05-03 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

参考答案看不懂,有没有更容易理解的答案

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