因此,今天我们来学python的高级特性
目录
切片
list与tuple切片
str切片
迭代
列表生成式
生成器和迭代器
生成器
迭代器
切片
==
list与tuple切片
我们之前学习了list和tuple,常常需要提取其中的元素,我们实践一下
我们先看前两行,最基础的,我们构建一个新list,从L中取出元素放进去
但这个方法是不可以延申的,比如我们想取出3个数据,或4个数据呢?
我们可以使用下面循环的方法,只需要改变n的数值,便可以对应取出的元素
但每次都写这串代码,未必太过琐碎了,因此人们想出了更好的方法,切片
这便是L = [‘张三’,‘李四’,‘王五’,‘赵六’]的切片操作,我们知道list可以从下标取出对应元素,,L[0:3]就是取出,下标为0,1,2的元素,即不包括3.第二行说明为0时可省略。
list[-1]是list中的最后一个元素,这里也可以使用,L[-2:]就是倒数第二个元素到最后一个元素,L[-2:-1]则又是最后一个元素前,故不包含’赵六’。
str切片
最后,不仅是list和tuple可以进行切片操作,str字符串类型也可以
第一种是读取前4个元素,第二个是隔3个元素一读取。
最后,我们可以想想为什么叫它切片呢?
比如这个 ‘ABCDEFG’[:4],我们在源数据整体取了一部分,可不就像从火腿上切了一片下来(这里数据太少应该叫切段)
迭代
==
第二部分是迭代,那什么是迭代呢
我们通过for…in语句访问list或tuple中元素的过程就是迭代
add = [1,2,3,4,5]
for x in add:
print(x)
这个过程就是迭代,但不仅限于list结构
那什么数据可以迭代呢?如何判断呢?
我们需要调用
collections.abc
模块的Iterable
类型
这里说明字符串和list,tuple都可以进行迭代
这里要注意大小写,否则会如上报错
之前我们使用for迭代都是一个元素,它也可以一次多个元素
列表生成式
=====
我们有时构建一些特殊的数列,比如[1,3,5,7,9]
我们凭借之前学的的知识先来实现一下
但如果我们想构建[1,3,5,7,9]的平方呢?
我们可以引申第二种方式来做
但为了简化这一流程,便有了列表生成式
一行代码就能搞定
上述的列表生成式较之for…in,只是多了个x*x,我们还可以添加if判断
修改前面的x*x,我们可以生成之前的[1,3,5,7,9]
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)