玖叶教程网

前端编程开发入门

列表是python中最基本的数据结构之一,它的常用方法有哪些?

本文重点

(此处已添加圈子卡片,请到今日头条客户端查看)

列表的切片操作

python的列表据类似于数组,定义好列表之后,可以通过下标(从0开始的)进行访问

切片还可以按照步长切片比如:arr[0:-1:2]这个就是从0到倒数第二个(包含头不包含尾),每两个取一个

print(arr[::2])这个是从0到倒数第一个(包含头包含尾),每两个取一个

print(arr[:])完全切片

往列表中添加数据——append和insert

两者的区别是append方法是将数据添加到列表的最后一个位置,而insert是根据索引插入到列表的指定位置

修改列表元素

列表名[索引]=值

这种方式将索引位置的值修改

删除列表元素

方式一:列表名.remove("想要删除的值"),如果列表中存在多个这个值,那么并不会删除所有想要删除的值,而是按顺序删除第一个,如果要想删除所有的,那么就只能遍历删除了。

方式二:列表名.pop(索引),如果不写索引则默认删除列表的最后一个数据

方式三:del 列表名[索引]

通过列表中元素的值来获取对应对应值的索引下标

结果为4,取出了cheng数据所对应的下标

一个列表中值可能有重复的数据,我们可以算出在这个列表中重复数据有多少个?

结果输出为2

清空:列表.clear()

反转:列表.reverse()

reverse是永久性的反转列表,要想恢复原来的样本,可以再次调用reverse方法进行反转操作

排序:列表.sort()

sort方法将永久性的修改列表元素的排列顺序,我们可以向sort方法中传递参数reverse=True,那么将按sort反向进行排序操作

我们可以看到arr.sort()之后arr就被永久的排序了,要想不被永久的排序,我们可以使用sorted()方法来对列表进行暂时排序。当然sorted方法也有参数reverse=True

合并:列表1.extend("列表2"),把列表2放到列表1中,从列表1的最后一个位置开始放

复制列表.copy()

这个复制完成之后,一个改变,另外一个不会发生变化,但是这个copy是浅copy,就是只copy第一层,如果一个列表如果有第二层,那么第二层的数据一个改变另外一个也会变

可以看出[1,2,3,4]是第二层列表,这个第二层列表数据改变,一个改变另外一个也会改变。如果直接arr1=arr的话,那就完全没有copy,无论你是多少层,一个改变,另外一个也会改变。我们想要的完全copy就是一个改变了,另外一个不发生变化,也就是说是完全的两份,此时可以通过import copy库来实现deepcopy

遍历数组

我们怎样输出每个值所对应的索引呢?

使用enumerate的作用就是在for遍历的时候有两个参数,一个代表索引,一个代表值

创建数字列表

python的range()函数能够轻松的帮助我们生成一系列的数字:

for i in range(1,5):
	print(i)
#结果为1,2,3,4不包含5

range生成是一些列的数字,我们可以搭配list()方法来将这些数字直接变成列表

n=list(range(1,5))
print(n)
#[1,2,3,4,5]

使用range函数的时候,还可以指定步长,比如打印1~10内的偶数

n=range(1,10,2)
print(n)
#2,4,6,8

列表解析

列表解析将for循环和对遍历的元素操作的代码合并成一行

s=[value**2 for value in range(1,11)]

这个表示对range(1,11)的元素1,2,3,4,5,6,7,8,9,10进行遍历,然后每个元素进行**2计算操作,最终生成一个新的列表

Python列表脚本操作符

列表常用api

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言