Python知识点精汇:列表篇精汇!
目录
一、列表是什么
二、列表长什么样
三、列表的基本操作
(1)访问元素
(2)列表删除
(3)增加元素
(4)修改元素
四、结合一些函数的用法
(1)最大值、最小值
(2)返回长度
(3)返回匹配元素的编号
(4)返回指定元素出现次数
(5)排序
(6)翻转
(7)求和
一、列表是什么
标准解释:列表(list)是一种用于存储多个数据项的可变数据结构。它是 Python 中最常用和最灵活的容器之一,可以包含任意数量、任意类型的元素,如整数、浮点数、字符串,甚至是其他列表或对象。
二、列表长什么样
我们通常用 [ ] 来表示列表
如:定义一个列表a,包含三个元素:“1”、“个”、“3.14”
我们可以这么创建:
a=[1,"个",3.14]
print(a) #输出a
#系统输出 [1, '个', 3.14]
如果要创建一个空列表,可以如下写入:
a=[]
三、列表的基本操作
(1)访问元素
格式为:列表[i] #其中i是你要访问的编号第i个元素
至于编号问题,这里跟前文提到的字符串一样,是0,1,2,……n
第一个元素编号为0,第二个元素编号为1,以此类推……
例如,你要输出第四个元素,那就是a[3]
如果列表元素有很多,正着数数不过来的话,我们可以倒着数,比如访问倒数第一个元素就是a[-1]
这里也可以理解成,每个元素有两个编号,如果有n个元素,那么正着数是0,1,2……n-1编号的,倒着的编号则会是 -n+1,……,-2,-1编号的
两种编号可以混着用,为方便理解,可直接先看后面的标红示例
当然,还有更加多样的灵活方式。
比如,你想访问第x个到第y个元素,步长值为z
格式:列表[x:y:z]
注:所谓步长值,就是数与数的间隔是多少,比如我们常说的1到5,会说1,2,3,4,5,这种的步长值(间隔)就是1,如果我们想要步长值为2的,那么它们就变成了1,3,5,这样步长值(间隔)就是2了。
示例:
先说混用标号怎么用
左闭右开原则,就是包括左边的x,但不包括右边的y,具体解释可以看前文文章字符串相关内容
而无步长值时,默认为1,如果少x或y则默认从开头开始或从结尾结束
有步长值的
(2)列表删除
格式:del 列表 #注意中间有个空格哦
可以看到先输出了列表a然后出错了,因为我们删除了列表,导致系统查抄失败了,所以会报错
如果你只是想清空列表的话,可以用a.clear()
如果只是删除某一个元素的话,可以如下操作:
除此之外,还有一种方法
格式:列表.pop(i) #删除编号i的元素,不写i,默认删除最后一个
(3)增加元素
格式:列表.append()
如果是增加元素的话,如第一个list1.append("and")即可
如果想在列表中增加一个列表的话,则需要在append()里再加一个 [ ]
我们可以看到我们定义的列表list1的第二个输出里:
will和come连在一起了,这是因为在append中,我们没有用“,”隔开的缘故
除此之外,还有一种添加方法:列表.extend(x)
如下代码中:
在第一个extend中,它会让 “ ” 里的东西作为单独元素插入列表中。
而在第二个extend中,当我们在( )里加上 [ ] ,它就会分别作为一个元素插入其中了
但是append()和 extend()方法只能在列表末尾插入元素,如果希望在列表中间某个位 置插入元素,那么可以用insert()方法。
格式:列表.insert(i,x) 其中i是编号i之前插入x,其中x若是列表的话,需要加一个[ ] ,原理同上文
代码:
list=["c","python","java","c++"]
list.insert(2,"dd")
print(list)
#输出:['c', 'python', 'dd', 'java', 'c++']
(4)修改元素
格式:列表[i]=x 编号i的元素修改成x
那么修改很多元素呢,我们可以结合一下索引,代码:
list1=["c","python","java"]
list1[0:1]="asd","cc"
print(list1)
#系统输出:['asd', 'cc', 'python', 'java']
四、结合一些函数的用法
(1)最大值、最小值
结合max()、min()函数
a=[3,1,4,1,5,9,2,6,5]
print(max(a)) #或min(a)
(2)返回长度
结合len()函数
a=[1,2,3,4,5]
b=len(a) #len()函数作用在于返回长度
print(b) #输出5,因为有5个元素
(3)返回匹配元素的编号
结合index()函数
fruits=['apple','banana','cherry']
print(fruits.index('banana'))
#输出1
#index()函数用于返回指定元素在列表中的第一个索引(位置)。如果列表中没有该元素,会抛出 ValueError 异常。
注意:index()
返回的是元素的 第一个 索引,如果该元素在列表中出现多次,只有第一次出现的索引会被返回。
(4)返回指定元素出现次数
结合count()函数
fruits=['apple','banana','cherry','apple']
print(fruits.count('apple'))
#输出2,因为apple出现了两次
(5)排序
结合sort()函数
list = [-3,2,-5,1,4]
list.sort()
print(list) #输出:[-5, -3, 1, 2, 4]
系统默认是从小到大的,如果想反过来,可以如下写:
list = [-3,2,-5,1,4]
list.sort(reverse=True)
print(list) #系统输出:[4, 2, 1, -3, -5]
再者说,如果想让数们的绝对值进行排序,可以如下写:
list = [-3,2,-5,1,4]
list.sort(key=abs)
print(list)
#输出:[1, 2, -3, 4, -5]
(6)翻转
结合reverse()函数
numbers = [1, 2, 3, 4, 5]
numbers.reverse() # 使用 reverse() 方法翻转列表
print(numbers) # 打印翻转后的列表
# 输出: [5, 4, 3, 2, 1]
需要注意的是,reverse()方法不适用于字符串,因为字符串是不可变的。但是, 你可以将字符串转换为列表,翻转列表,然后再将列表转换回字符串。
比如:
a= "Hello, World!"
b= list(a) # 将字符串转换为列表
b.reverse() # 翻转列表
c= ''.join(b) # 将列表转换回字符串
print(c) # 输出: "!dlroW ,olleH"
原理在于,它是把整个字符串分别拆开成一个一个的元素储存起来,然后进行翻转的
(7)求和
结合sum()函数
a=[1,2,3,4,5]
b=sum(a)
print(b)#输出:15