当前位置: 首页 > 后端技术 > Python

Python小白零基础入门-列表与元组

时间:2023-03-25 20:17:44 Python

微信公众号:《Python读金融》有什么问题或者建议欢迎留言公众号这是Python零基础入门的第二篇。本文为大家介绍什么是列表和元组,以及相关的常用操作1、什么是列表?在我的理解中,列表就是一个数据容器,它的作用是存储各种数据,比如上一篇介绍的数值型、布尔型、浮点型数据。在Python中,方括号[]用于表示列表,逗号用于分隔元素。#列表中的数据可以是相同类型的数字=[1,2,3,4,6]#都是数字bools=[True,False,False,True,True]#都是布尔字符串=['A','B','C','D']#都是字符串列表=[[1,2,3],[4,5,6],[7,8,9]]#都是列表#列表中的数据也可以是不同类型mix_list=[1,'A',False,True,'B',2]二、列表的常用操作1、访问列表元素和切片假设我有一个列表为接下来,它存储了下午6:00之前在便利店消费过的所有顾客的姓名。consumers=['张三','李四','王五','老王','小明']如果要提取得到第一个客户(或者第三个,最后一个),需要使用列表的索引,和上一篇文章中提到的字符串索引原理完全一样,看代码就知道了。In[1]:consumers=['张三','李四','王五','老王','小明']#提取第一个顾客(索引从0开始)In[2]:consumers[0]Out[2]:'张三'#提取第三个客户In[3]:consumers[2]Out[3]:'WangWu'#提取最后一个客户In[4]:consumers[-1]Out[4]:'小明'当然也可以提取前三个客户或者每隔两个客户取一个#consumers=['张三','李四','王五','老wang','小明']#提取前三个顾客In[5]:consumers[:3]Out[5]:['张三','李四','王五']#每两个顾客取一个In[6]:consumers[::2]Out[6]:['张三','王五','小明']如果你在上一篇文章中掌握了字符串的索引和切片操作,那么这些它应该很容易理解。2.修改元素如果人为因素将小白误认为是小明,如何将客户列表中的“小明”改为“小白”?修改列表元素的语法和访问列表元素类似:#consumers=['张三','李四','王五','老王','小明']#小明最后一个列表中的元素#首先定位小明为-1的索引位置#然后指定该位置的新值In[10]:consumers[-1]='Xiaobai'In[11]:consumersOut[11]:['张三','李四','旺屋','老旺','小白']3.添加元素后,有客户消费过,这时需要添加新客户到列表中(重复购买的不算)暂且不考虑)的情况),需要使用append()向列表末尾添加元素#consumers=['张三','李四','王舞','老王','小白']#append()添加到列表末尾的元素In[12]:consumers.append('Dabai')In[13]:consumersOut[13]:['张三','李四','王舞','老王','小白','大白']如果想把新值插入到指定位置,也是可以实现的。这时候就需要用到insert()方法了。In[14]:consumers=['张三','李四','王五','老王','小白']#在索引0处插入一个新元素,即列表中的第一位In[15]:consumers.insert(0,'大白')#插入一个新元素后,其他元素跟着MoveoneIn[16]:consumersOut[16]:['大白','张三','李四','王五','老王','小白']4.如果元素因错误被删除要记录或重复记录,我们要删除列表中的元素。有以下三种方式:①dellist[index]适用场景:删除已知索引位置In[17]:consumers=['张三','李四','王舞','老王','小白']#删除'小白'In[18]:delconsumers[-1]In[19]:consumersOut[19]:['张三','李四','王舞','老王']②list.pop()适用场景:从列表中删除一个元素,需要获取被删除的元素[20]中:consumers=['张三','李四','王舞','老王','小白']#pop()默认删除列表的最后一个元素#删除时会返回这个值给你In[21]:consumers.pop()Out[21]:'小白'#删除列表In[22]:consumersOut[22]:['张三','李四','王舞','老王']当然也可以使用pop删除指定位置的元素,只需要指定元素的索引即可In[23]:consumers=['张三','李四','王五','老王','小白']#删除列表中'老王'的记录In[24]:consumers.pop(3)Out[24]:'老王'In[25]:consumersOut[25]:['张三','李四','王舞','小白']③list.remove()适用场景:不知道要删除的值的索引,但是知道待删除元素的值In[28]:consumers=['张三','李四','王五','老王','小白']#删除列表中的'张三'In[29]:consumers.remove('张三')In[30]:consumersOut[30]:['李四','王舞','老娃ng','小白']5.如果我们想把list的值按照时间从近到远倒序查看客户,可以使用reverse()方法:In[31]:consumers=['张三','李四','王舞','老王','小白']In[32]:consumers.reverse()In[33]:consumersOut[33]:['小白','老王','王五','李四','张三']6.查看单子长度为一天结束后,我们要查看一天有多少客户消费,我们可以使用len()来检查列表中有多少元素In[34]:consumers=['ZhangSan','LiSi','WangWu','Laowang','Xiaobai']In[35]:len(consumers)Out[35]:5链表的基本操作介绍到此结束。下面介绍另一种常用的数据容器——元组。3、元组相信经过上面的介绍,你会觉得列表的操作非常灵活,可以进行任意的增删改查。元组虽然也是数据容器,但是对于元组来说,只要定义了元组,元组就是不可变的,不能增删改查,所以也叫不可变列表。例如,如果您有一个固定长宽的矩形,您可以将矩形的长宽存储在一个元组中,确保它不被修改。1.元组的定义元组是用括号()定义的(不同于列表的方括号[])#定义一个元组In[42]:tuple=(500,200)In[43]:tupleOut[43]:(500,200)2.访问元组元素访问元组中元素的操作与访问列表完全相同,如下:In[42]:tuple=(500,200)In[44]:tuple[0]Out[44]:500In[45]:tuple[1]Out[45]:200In[46]:tuple[-1]Out[46]:200但是如果要修改tuple中的值,Python会报错[47]中的错误:tuple[0]=200------------------------------------------------------------------------TypeErrorTraceback(mostrecentcalllast)in---->1tuple[0]=200TypeError:'tuple'objectdoesnotsupportitemassignment4.练习题生成一个空列表,把你喜欢的5位女明星加到最上面的列表中榜单中,将榜单中的第三位女明星替换成你最喜欢的男明星,去掉你相对最不喜欢的榜单中的女明星(指定索引的方式和指定元素的方式)两种方式进行榜单反向查看你的榜单中有几位明星扫描二维码关注公众号「Python读钱」,干货第一时间获取!