enumerate() 函数
enumerate() 函数用于一个可遍历的数据对象如列表、元组或字符串,同时列出数据(列表值)和数据下标(列表索引),参数strat为索引起始的位置。
比如我们打印一个字符串列表A
A=["a","b","c","d","e"]
for i in A:
print i
结果为
a
b
c
d
e
假设我们既需要打印列表的索引坐标,又需要列表的值
方法一
A=["a","b","c","d","e"]
num=0
for i in A:
print num,i
num=num+1
结果为
0 a
1 b
2 c
3 d
4 e
方法二
A=["a","b","c","d","e"]
for i in(range(len(A))):
print i,A[i]
结果为
0 a
1 b
2 c
3 d
4 e
方法三
现在用enumerate()函数试试
A=["a","b","c","d","e"]
for i, element in enumerate(A,start=0):
print i, element
结果为
0 a
1 b
2 c
3 d
4 e
将start改为2试试
A=["a","b","c","d","e"]
for i, element in enumerate(A,start=2):
print i, element
结果为
2 a
3 b
4 c
5 d
6 e
说明参数strat为索引起始的位置
zip() 函数
zip() 函数zip()函数是将多个列表中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
#coding=utf-8
A=["a","b","c","d","e"]
B=["A","B","C","D","E"]
print zip(A,B)
结果为
[('a', 'A'), ('b', 'B'), ('c', 'C'), ('d', 'D'), ('e', 'E')]
enumerate()函数和zip() 函数组合使用
#coding=utf-8
A=["a","b","c","d","e"]
B=["A","B","C","D","E"]
for i, (super,low) in enumerate(zip(A,B),start=1):
print "第",i,"个字母小写是",super,",大写是",low
结果为
第 1 个字母小写是 a ,大写是 A
第 2 个字母小写是 b ,大写是 B
第 3 个字母小写是 c ,大写是 C
第 4 个字母小写是 d ,大写是 D
第 5 个字母小写是 e ,大写是 E
也可以写成这样,结果都是一样的
#coding=utf-8
A=["a","b","c","d","e"]
B=["A","B","C","D","E"]
for i, M in enumerate(zip(A,B),start=1):
print "第",i,"个字母小写是",M[0],",大写是",M[1]
总结
enumerate() 函数当同时需要列表索引坐标和索引值时可以使用,zip()函数是同时遍历多个列表的时候使用。