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

Python自学笔记6-列表的常用操作有哪些

时间:2023-03-26 15:10:54 Python

列表是Python中最重要的数据类型,使用得非常非常频繁,最大限度地发挥了Python的灵活性。与字符串一样,列表可以通过多种方式进行操作。如果一头扎进去,可能会导致学习注意力不集中。在这篇文章中,首先九把手会为大家介绍一下列表的基本操作,然后再给大家讲讲列表这个数据类型中常用的一些实际操作。努力对Python列表有一个大致的了解。Python列表定义首先,让我们看一下列表的定义。列表通常用来存储多条数据,每条数据用逗号隔开,称为元素,列表左右两边有方括号。a_list=[1,2,3,4]你可以把列表想象成某种容器,你可以往这个容器里塞任何东西。并且列表中的元素可以是任何数据类型,你可以在一个列表中同时存储数字、字符串,甚至嵌套列表。a_list=[1,"hello",["new","list"]]当然,虽然list可以存储不同的数据类型,但是大多数情况下,里面的元素的数据类型都是一样的,你可以简单的理解他类似于其他编程语言中的数组。Python列表的基本操作列表的基本操作分为:增、删、改、查。“查”主要是获取列表的某个元素或多个元素,可以通过索引和切片来获取。“增加”主要是给这个列表增加一个新的元素。“删除”主要是指我们删除列表中的一个元素。“改变”主要是修改这个列表中的元素。因为list本身有多个元素,所以我们可以得到它的长度a=[1,2,3]print(len(a))#3Pythonlistindexlist的index的表示和list的index的表示基本一样string,所以可以直接引用string中的操作,index从0开始man=[1,2,3]print(man[1])#2print(man[0])#1index可以为负数,表示从下往上数,即列表从右往左数。索引-1表示获取倒数第一个元素,索引-2表示获取倒数第二个元素。为什么正序号的索引从0开始,而倒序不能从0开始?因为一个索引为0不能同时表示两个元素,会造成指令冲突。print(man[-1])#3IndexError超出索引范围报错。print(man[8])Python列表切片列表的切片基本上类似于字符串的切片。所以我们可以直接使用字符串切片的方法。切片的表示方法是:var[start:end]。start表示开始位置的索引号,end表示结束位置的索引号,但不包括end。girl=[1,2,3,4,5,6]part_of_girl=girl[0:1]print(part_of_girl)#[1]切片的索引号也可以为负数,但使用时要确保end在start的右边,end-start>0。print(girl[0:-2])print(girl[-2:-4])如果切片的索引号超出范围,不会报错被报告,它会被提取到最后。print(girl[0:100000000000])切片的开始和结束都可以省略。girl[1:]girl[:-1]girl[:]slice可以加第三个参数girl[start:end:step],其实slice使用的时候默认步长为1。girl[0:3:2]Python列表添加元素向列表中添加一个新元素,我们主要使用两种方法。第一种方法是使用append方法将一个元素添加到列表的末尾。a=[1,2]a.append(3)#[1,2,3]第二种方法是通过insert方法在索引位置添加一个新的元素,比较与前面方法的区别。a=[1,2]a.insert(0,3)#[3,1,2]Python列表删除重复元素删除列表中的元素也有两种方式。第一种是通过remove方法移除指定的值。a=["a","b"]a.remove("a")#['b']第二种方法是通过Pop方法删除指定索引位置的值。a=["a","b"]a.pop(1)#['a']如果想直接清除列表,可以使用clear方法。a.clear()更常见。我们经常要对列表中的元素进行去重,可以先转为集合类型,再转回列表类型。a=[1,2,1,4,2]print(list(set(a)))Python列表求和有时候,我们会在一个列表中存放很多数据,需要对整个列表进行求和数据,可以用求和函数a=[1,2,1,4,2]print(sum(a))Python列表排序列表排序也用到很多操作,在对整个列表排序后,可以简化后续操作。要实现排序,不一定要实现排序算法。在Python中可以直接调用列表下的sort方法实现排序。a=[1,5,3,2]a.sort()如果我们想从大到小排序,可以加一个reverse参数。a.sort(reverse=True)Python列表理解列表理解是我推荐每个Python初学者掌握的高级技能。可以大大简化一些列表的复杂操作,让我的代码更加优雅。列表理解的主要应用是对列表中的每个元素执行相同的操作。比如我们要把一个列表中的每一个元素都转换成一个字符串,那么就很适合使用列表推导式来操作。a=[1,5,3,2]b=[str(i)foriina]#b=['1','5','3','2']总结列表经常出现在Python初学者程序员面试题。如果你是刚开始学习Python,想找一份Python相关的工作,在面试的过程中一般都会问一些关于列表的面试问题。原因之一是该列表确实被更频繁地使用。第二个原因是列表是可变数据类型。对其进行操作时,更容易出现错误。面试的时候如果单子评估,就能看出一个人的一点点代码功底。