在迭代 [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’] 时,如果我们想打印出名次 - 名字(名次从1开始),请考虑如何在迭代中打印出来。
提示:考虑使用zip()函数和range()函数
使用range()函数
1
2
3L=zip([1,2,3,4], ['Adam', 'Lisa', 'Bart', 'Paul'] )
for i in range(0,4):
print L[i][0],'-',L[i][1]不使用range()函数
1
2
3L=zip([1,2,3,4], ['Adam', 'Lisa', 'Bart', 'Paul'] )
for i,j in L:
print i,'-',jzip()函数的另一种使用方法
1
2
3L=['Adam', 'Lisa', 'Bart', 'Paul']
for i,j in zip(range(1,len(L)+1),L):
print i,'-',j使用enumerate()函数
1
2
3L=['Adam', 'Lisa', 'Bart', 'Paul']
for i,j in enumerate(L):
print i+1,'-',j
提示:enumerate()函数
使用 enumerate() 函数,我们可以在for循环中同时绑定元素的索引和元素的名字。但是,这不是 enumerate() 的特殊语法。实际上,enumerate() 函数把:
['Adam', 'Lisa', 'Bart', 'Paul']
变成了类似:
[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]
实际上,通过enumerate()函数,列表中的每一个元素都变成了一个含有两个元素的tuple列表。