前言:
作者简介:大家好,我是翼同学,一名大学生。
个人主页:翼同学的CSDN博客
系列专栏:【python学习笔记】
备注:如果文章有误,请指正,万分感谢!让我们一起学习,一起进步。
✅最后:如果文章对您有帮助,请三连支持一下博主哦。
在python中,序列是常见的数据结构。
序列,指的是可存放多个值的连续内存空间。
序列中的元素会按顺序排列存放。
每个元素会有一个编号,我们称之为索引。从左往右来看序列
序列首元素的索引为0。第二个元素的索引为1,以此类推。从右往左来看序列
序列末元素的索引为-1,倒数第二个元素的索引为-2,以此类推。
事实上,所有序列类型的都能进行某些特定的操作,比如:
- 通过索引访问元素
- 分片
- 加
- 乘
- 检查成员
在python中的序列包括:
- 列表
- 元组
- 字符串
我们通过一对中括号将若干数据括起来,以此来创建列表,数据之间用逗号隔开。
list_01 = [] # 创建空列表
list_02 = [3.1415,8,666] # 简单地创建一个列表
list_03 = [[1,2,3],[4,5,6]] # 创建二维列表
注意:
我们通过索引来访问列表中的元素。
1)访问一维列表
v_list = [2,4,8]
n1 = v_list[0]
n2 = v_list[1]
n3 = v_list[2]
m1 = v_list[-3]
m2 = v_list[-2]
m3 = v_list[-1]
print(n1,"==",m1)
print(n2,"==",m2)
print(n3,"==",m3)
运行结果如下:
2 == 2
4 == 4
8 == 8
上述代码中,我们定义了一个列表[2,4,8]
并且列表的索引为0,1,2
,或者说:-3,-2,-1
所以可以看到:
索引为0
的元素和索引为-3
的元素相同。
索引为1
的元素和索引为-2
的元素相同。
索引为2
的元素和索引为-1
的元素相同。
看下图:
2)访问二维列表
d_list = [[1,2,3],[4,5,6],[7,8,9]]
var_6 = d_list[1][2]
print(var_6)
运行结果为:
6
可以看到,我们应该使用两个索引来访问二维列表。
第一个索引表示选择哪一个子列表
第二个索引表示选择子列表中的哪一个元素
语法:
列表名[first:end:step]
注意:
[first.end)
step
表示切片时索引值的步长,这是可选项,默认值为1
实例:
我们使用del
语句来删除列表里的元素。
如图:
如图:
列表的乘法:
将列表乘上一个整数n
,就得到了新列表。新列表包含着n个重复的原列表。
如图:
我们能通过加法法则来生成新的列表
如图:
我们能通过关键字in
或not in
来检查列表是否含有某元素,返回值是True
或False
我们可以利用循环来遍历列表的所有元素
min( )
函数用于返回列表的最小值
如图:
max( )
函数用于返回列表的最大值
再使用min()
函数或max()
函数时,列表中只能包含可以相互比较的元素,不然会报错。
比如:
len( )
函数用于返回列表的长度,即列表的元素个数。
如图:
list( )
函数用于将元组或字符串转换为列表。
如图:
reversed( )
函数用于将列表的元素位置反向并返回重置的对象。
注意:
reversed( )
函数应与list( )
函数一起使用才可以返回列表。
如图:
sorted( )
函数用于返回已经排好序的新列表。
从例子可以看出,原列表里的元素并未改变!
append( )
方法会在列表的末尾添加单个元素,元素可以是任何数据类型
如图:
extend()
方法用于扩展列表,可以一次性在列表末尾添加多个值。
index()
方法用于从列表中找出与某个值第一个匹配的索引的位置
语法:
list.index(value,start,end)
参数:
value
:匹配的值start
:该参数是可选的,用于表示寻找的初始位置,默认为0
end
:该参数是可选的,用于表示寻找的终止位置。注意:
start
和end
的值,查询的区间是左闭右开,即[start,end)
如图:
count()
方法用于统计某个元素在列表中出现的次数
如图:
insert()
方法用于将某个值插入列表中
语法:
list.insert(index, value)
参数:
index
:插入的位置value
:插入的值如图:
remove()
方法用于移除列表中某个值的第一个匹配项。
注意,若无匹配项,就报错。
pop()
方法用于移除列表中最后一个元素,并且返回该元素的值。
如图:
如图:
注意,当你指定的索引超出了列表的索引范围,或者对空列表使用pop()方法,则会引起报错。
如图:
clear()
方法用于删除列表中的所有元素,即剩下一个空列表。
二者区别在于:
del语句
删除整个列表时,列表就不存在了clear方法
删除整个列表时,列表会变成一个空列表reverse()
方法用于将列表的元素全部反向存放,即翻转。
sort()
方法用于将列表中的元素进行排序
语法:
list.sort(reverse=False)
参数reverse
是排序规则,默认为False,即升序。
当设置reverse = True
后,列表将以降序规则进行排序。
如图:
降序如下:
copy()
方法用于复制列表,返回一个复制后的新列表。
事实上,关于列表的sorted()函数
和sort()方法
都还含有另一个参数key
。
我们用内置函数help()
查看sorted()
函数的详细说明如下:
按照说明来看:参数key
是函数类型,用来支持自定义的排序方式。
也就是说,参数key
是用于提供可以作为排序依据的函数
下面举两个例子
例子一:
我们用
stuScore
列表存放五名同学的成绩现在需要对五位同学的成绩进行排序
我们自定义一个函数
cmpSecond
,用于返回第二个元素。然后调用列表的
sort()
方法指定key参数为函数
cmpSecond
,指定第二个元素排序
如图:
按字符串的长度进行升序排序
如图:
关于列表的介绍就到这里,还是得多打代码熟悉熟悉。
下面是思维导图:
好了,列表就看到这。下一篇文章,我们来看元组