小白学python第8天元组与列表

这个系列的文章也已经烂了许久了,因此今天来更新一下。闲话少叙,我们直接进入正题。

什么是元组和列表

什么是元组,什么是列表,说到它俩,也许大家会很陌生,但是说到c、c++、Java中的数组,大家一定很熟悉,没错其实元组和列表就是其他语言中的数组

但需要注意的是列表是可变的,元组不可变,那么这个怎么理解呢?我们可以把它俩换成静态与动态数组去理解,元组就好比静态数组,无法变长或变短。列表大家就不要去怎么理解了,容易把自己误导。

那么这里也给大家讲一下可变和不可变

可变:创建好后随时能改

不可变:创建好后不可修改,真的想改,必须丢掉旧的,创建一个新的

这里的可变与不可变就不要理解成变长变短,容易误导                                                                    

总结:元组和列表的特点:元组不可变,列表可变(这个记住即可)

创建列表的两种格式

格式1:数组名 =  [ ] 

格式2:数组名 = list()

列表的初始化 

eg. a = [1,2,3,4,5,6]

输出列表时,只需要使用print(数组名)

那么接下来告诉大家一个好消息,python中的列表不止可以存放单个类型,什么意思呢?我给大家解释一下这句话,这句话的意思时在这个列表中你可以存放多个不同类型的元素,比如说在列表中存放了int类型double类型float类型string类型

元组的下标访问

格式:数组名 [ 下标  ]

eg. arr[  1  ]

切片操作

通过下标操作,我们一次可以取出一个数组元素

通过切片操作,我们一次可以取出多个数组元素

需要注意的是,切片操作只包含起始位置,不包含终点位置。当然大家也可以记成【1,3)(左闭右开)

省略边界
后边界:

格式:数组名【起始位置:】

意思:从起始位置一直到末尾

前边界:

格式:数组名【:终点位置】

意思: 从数组的第一个元素开始,一直到终点位置,且终点位置取不到。

总结:数组切片操作,区间左闭右开

注意:1. 切片操作,只是取出了原列表的一部分(可以说是原来集合的子集),与数据的拷贝无关

           2. 即使列表很大,切片操作依旧很高效

总结:切片操作,子集集合,非数据拷贝,效率高效

带步长的切片操作

格式:数组名[ :: 1]

意思:从数组的第一个元素开始,到最后一个元素结束(包含最后一个元素),这个1就是步长,步长可以随意修改

当步长为负数时,表示从后往前取

注意:当切片中的范围超出有效的小标后,不会出现异常,但还是尽可能的把符合要求的元素取到即可

列表的遍历

for循环遍历列表

通过下标的方式遍历

while下标方式遍历

列表的插入

使用append往数组末尾插入数据

从图中我们可以发现append这个函数不是一个独立的函数,需要在它的前面加个对象.

因此对于像append这样的函数我们称之为方法,那么对于刚学python的小白看到突然出现的对象,可能会有些懵圈,那么我也给大家简单解释一下什么是对象,其实对象可以是变量也可以时数组等等,具体的遇到了再解释

初此之外,我再讲一下插入(指定位置插入)insert

它的使用也是需要对象名.方法名(指定位置,插入内容)

判断某个数是否存在于数组

index的使用

返回的数是让index找的数字在数组中的下标,但是如果输入的数字在数组中不存在,那么程序就会直接报错

列表的删除

pop删除

使用格式,我就不说了,那么像上图中一样,pop()没有任何数字时删除的是数组中最末尾的元素

那么加了数字以后,也删除了数字,只不过删除的是下标为这个数字的数组元素,所以pop中输入的是该元素的下标

remove删除

从上图中我们可以看到在remove中输入的数就是被删除的数,所以remove中输入的是要删除的内容 

列表的拼接

+拼接

使用+号拼接列表的时候,只是针对当亲列表的内容生成了一个更大的新列表,原有列表的内容是不变的

extend拼接

extend 是把后一个列表的内容拼接的前一个列表中,修改了前一个列表的内容

这里主要是讲一下这个none,一个特殊的变量的值,表示啥都没有,和Java,c,c++中的空是一样的意思

+=方式拼接

这个的结果和extend的结果一样,但是它俩的底层不一样

extend和+=的区别

a += b 等价于a = a+b

a.extend(b)是直接把b的内容拼接到a的后面

元组

类型:tuple

元组的创建

格式: 数组名 = (元素)

eg. a = (1,2,3,4,5,6)

元组的类型可以是任意类型

下标

eg.a[1]

元组的切片操作

由于这里的操作与列表一致,因此我不再解释,大家自行观看例子即可

for循环遍历数组

for循环通过下标遍历元组

while循环遍历元组

那么从上面的例子看来和列表一样,但是这只是读写,元组是无法修改的,但是可以构建新的

因此,元组只支持“读”操作 ,不支持“修改”操作

那么本篇文章的内容就先到这里,我们下期再见

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值