python的循环优先使用for循环,迭代对象优先使用内置迭代对象,再用range迭代对象,最后才选择用while循环,因为for循环笔while循环快。 python循环可以结合range生成的索引进行遍历元素。 python循环可以结合zip并列遍历多个序列元素。 1.1 python循环与zip1.1.1 zip()用法 zip(*iterables) --> zip object 描述 python的zip()函数,将入参中可迭代对象的并排元素一一配对打包成元组,返回zip对象。 入参 iterables:可迭代对象,比如字符串,列表、元组、字典等。 出参 配对成元组后的zip对象。若入参长度不一致,配对长度以最短的为准。 示例
1.1.2 并行遍历描述 python的for循环,可以结合zip进行并行变量多个序列,优先使用zip再使用range。 示例 >>> S='梯阅线条'>>> L=list('tyxt')>>> ZL=list(zip(S,L))>>> ZL[('梯', 't'), ('阅', 'y'), ('线', 'x'), ('条', 't')]# 使用zip并行遍历>>> for (x,y) in ZL: print(x,y,end=' ') 梯 t 阅 y 线 x 条 t # 不使用zip并行遍历>>> for i in range(len(S)): print(S[i],L[i],end=' ') 梯 t 阅 y 线 x 条 t 1.1.3 zip与字典描述 将zip传给python的dict()函数,生成字典。 示例
1.2 python循环与enumerate1.2.1 enumerate()用法 enumerate(iterable, start=0) 描述 python的enumerate()函数,将可迭代对象的索引和值组成一一配对成元组,返回全部元组生成的enumerate对象。 入参 iterable:可迭代对象 start:第一个元素的索引值,默认为0 出参 索引和值配对成元组的enumerate对象。 示例
1.2.2 for循环遍历索引和值描述 python的for循环与enumerate结合可以同时遍历序列的索引和值。 示例 >>> S'梯阅线条'>>> i=0>>> for x in S: print(i,'=',x,end=',') i+=1 0 = 梯,1 = 阅,2 = 线,3 = 条,>>> for (ind,it) in enumerate(S): print(ind,'=',it,end=',') 0 = 梯,1 = 阅,2 = 线,3 = 条,# 从11开始>>> for (ind,it) in enumerate(S,11): print(ind,'=',it,end=',') 11 = 梯,12 = 阅,13 = 线,14 = 条, |
|