参考答案看不懂,有没有更容易理解的答案
for index, name in zip(range(1,len(L)+1),L):
for index, name in zip(range(1,len(L)+1),L):
2016-05-03
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
举报