python DAY_5(1) 认识迭代

今日学习内容:
迭代思想以及迭代涉及的部分内容
Tips:内容转大写(针对小写字母),
l=[“abc”,“sdf”]
L=l.upper()
L的内容变为l的大写形式
重点!!!
1.仅有可实现迭代协议的对象可以执行迭代循环,对于可实现迭代协议的对象,他需要满足使用—next——()指令,或者next()全局函数可实现输出下一个内容。对于迭代对象,他们有些是python事先就以及写好的(已包含迭代器iter()),可以直接使用迭代循环,对于无法使用迭代循环的对象(重点是列表list),可以通过iter命令实现,具体代码如下。
l=[1,2,3]
b=iter(l)
next(b)或者b.next()可实现输出下一个内容

对于字符串也是同理改变。
list因为结构复杂,可以实现嵌套功能,所以python没有实现list的迭代。
对于返回值,如果返回list,那么就可以实现列表的所以操作,如果返回可迭代对象,那么一部分关于list的操作便无法进行,但是list在内容较多的时候,占用内存很大,可迭代对象包含next指针,占用内存很小。

2.判断是否包含迭代器
iter(a) is a,如果返回ture,那么就包含,反之则不包含
3.返回类型的判定
l=[1,2,3]
res=[ x for x in l]
返回的类型由外层的括号决定,[]表示列表,则输出的结果为列表
4.初识推导
l=[1,2,3]
res1=[x+10 for x in l if x>2]
上面的例子是说,遍历所有在l中大于2的数字加上10在输出成列表形式
所以推导的一个简单格式如下
res=[变量(可进行一定变量运算操作)for循环遍历语句 if 条件判断语句]
5.常用的内置可迭代对象
1)range(),功能:系统自动生成迭代器,可以实现迭代循环。
2)zip ((),()),功能:将两个集合合并成一个。
3)map(),map有别于上两种,需要函数的运用。格式如下
def 函数名
map(函数名,操作对象)大体功能是将操作对象的所有内容,遍历通过定义的函数进行函数运算。

发布了33 篇原创文章 · 获赞 0 · 访问量 709

猜你喜欢

转载自blog.csdn.net/soulproficiency/article/details/103887540