这一节介绍python中常用于for循环的2个常用的内置函数,分别是:zip()函数和enumerate()函数。
zip()函数的功能是把多个可迭代对象中的对应位置上的元素压缩到一起,返回一个可迭代的zip对象。
for i in zip(['张三','李四','王五'],[20,21,19]):
print(i)
(‘张三’, 20)(‘李四’, 21)(‘王五’, 19)
我们看到zip()函数里面有两个列表,输出时,函数将第1个列表的第1个元素与第2个列表的第1个元素进行压缩,放到一个元组中去,以此类推,对两个列表分别进行遍历访问。其它类型的可迭代对象(字符串,元组,集合,range()函数)都可以作为zip()函数的参数,比如字符串:
a='python'
b='numpy'
c='opencv'
for i in zip(a,b,c):
print(i)
(‘p’, ‘n’, ‘o’)(‘y’, ‘u’, ‘p’)(‘t’, ‘m’, ‘e’)(‘h’, ‘p’, ‘n’)(‘o’, ‘y’, ‘c’)当各字符串的长度不一致时,输出元素的个数取决于最短的那个。不同类型的可迭代对象也可以被zip()压缩。
a='python' #字符串
b=[1,2,3,4,5] #列表
c={9,8,7,6} #集合
for i in zip(a,b,c):
print(i)
(‘p’, 1, 8)(‘y’, 2, 9)(‘t’, 3, 6)(‘h’, 4, 7)
enumerate()函数常用于在for循环中同时获取可迭代对象的元素索引及元素值。
a='python'
for i,j in enumerate(a):
print(i,j)
for循环中用到了两个变量,其中变量 i 获取元素的索引,变量 j 获取元素值,这种机制极大地减少了代码的编写量,提高程序开发效率。
这种方法同样可以适用于其它类型的可迭代对象,在此就不一一列举,请各位读者自行举例。
转载请注明:XAMPP中文组官网 » python基础–zip()函数和enumerate()函数