python生成器和迭代器理解,python 可迭代对象 迭代器 生成器
本文主要为大家介绍python列表生成器常用迭代器实例的详细讲解。有需要的朋友可以参考一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
00-1010列表生成1的基本语法。使用列表生成在一行中求解循环2。双环3。添加判断语句和条件过滤器4。增加功能5。几种常见的迭代器:range,zip,enumerate,filter,reduce。
目录
iterable中iter_var的表达式(如果有条件)]
原则:
首先,迭代iterable中的所有内容。每次迭代,将iterator _ var中iterable对应的内容放入,然后将表达式exp应用于iterator _ var的内容,根据条件进行过滤。最后,用表达式的计算值生成一个新列表,它优先于for和if循环:
1.它比循环快得多。2.它被认为比循环和映射函数更具有python特性。3.列表生成的语法更容易阅读。
列表生成式基础语法
#实现[1,2,3,4,5]的列表
alist1=list(范围(1,6))
打印(alist1)
#实现[1,4,9,16,25,36,49]的列表
alist2=[]
对于(1,8):范围内的I
alist2.append(i*i)
打印(alist2)
#在一行中实施
list=[i*i for i in range(1,8)]
打印(列表)
#结果:
[1, 2, 3, 4, 5]
[1, 4, 9, 16, 25, 36, 49]
[1, 4, 9, 16, 25, 36, 49]
1. 使用列表生成式,一行解决for循环
list2=[x y for x in range(1,5) for y in range(1,6)]
#结果:
[2, 3, 4, 5, 6, 3, 4, 5, 6, 7, 4, 5, 6, 7, 8, 5, 6, 7, 8, 9]
2. 双层循环
list3=[x for x in range(1,10)if xgt;5]
打印(列表3)
#结果:
[6, 7, 8, 9]
3. 加判断语句,条件过滤
L=[合力,杰克, ab]
l1=[i.lower() for i in L]
打印(l1)
#结果:
[合力,杰克, ab]
4. 加入函数
生成邮政编码列表,生成字典
zip()函数以一系列迭代对象为参数,将不同对象的对应元素打包成一个元组,返回由这些元组组成的列表。
l1=[1,3,6]
l2=[5,8,9]
对于邮政编码为(l1,l2):的(x,y)
打印(x,y,x,y)
#结果:
1 5 6
3 8 11
6 9 15
keys=[a , c , f]
瓦尔斯=[1,7,3]
D2={}
for (k,v) in zip(keys,vals): D2[k]=v
印刷品(D2)
#结果:{a : 1, c 3360 7, f 3360 3}
Enumerate()函数用于将可遍历的数据对象(如列表、元组或字符串)组合成一个索引序列,同时列出数据和数据下标,一般用于for循环。
Enumerate(seq,[start=0]),返回一个枚举对象。
季节=[春天,夏天,冬天]
a=列表(列举(季节))
对我来说,元素在列举(季节):
打印(I,元素)
#结果:
0春天
1个夏天
2冬天
关于filter和reduce的详细信息,请参阅上一篇文章。
python高阶函数使用教程示例
以上是python列表生成器常用迭代器示例的详细说明。关于python列表生成器迭代器的更多信息,请关注热门IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。