所谓序列,指的是一种包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引来访问成员

python的常见序列类型包括字符串、列表和元组。

在具体的编程过程中,如果只是固定的保存多个数据项,则不需要修改它们,此时就应该使用元组,反之使用列表

简单讲:列表与元组的关系就是可变与不可变的关系

创建列表与元组

创建列表与元组的语法也有点相似:

* 创建列表使用方括号[ ]
* 创建元组使用圆括号( )
* 其元素(成员)用英文逗号隔开
列表语法:list = [ele1,ele2,ele3……]

元组语法:tuple = (ele1,ele2,ele3……)

访问其元素的方法与字符串相同:使用索引

示例:
#列表访问 list = ["continue",11,"python",20] print(list) #访问所有元素 print(list[0])
#访问第一个元素 print(list[1]) #访问第二个元素 print(list[-1]) #访问倒数第一个元素 #元组访问 tuple =
("city",15,20,"pig") print(tuple) #访问所有元素 print(tuple[0]) #访问第一个元素
print(tuple[1]) #访问第二个元素 print(tuple[-1]) #访问倒数第一个元素
列表与元组切片

列表与元组也可以使用索引获取中间一段,这种用法称为slice(分片或切片)

slice语法:[ start : end : step ]

start与end两个索引值可以是正数也可以是负数,其中负数从倒数位置开始,start和end满足“前包后不包”原则

step表示步长,因此step使用负数没有意义

示例:
#列表切片 list = ["continue",11,"python",20] print(list[0:2])
#从第一个位置到第三个位置(不包含第三个元素) print(list[-3:-1]) #从倒数第三个位置到倒数第一个位置(不包含倒数第一个元素)
print(list[1:-2]) #从第一个位置到倒数第二个位置(不包含倒数第二个元素) 步长示例 print(list[1:4:2])
#从第一个位置到第四个位置,间隔为2 # "continue","python" #元组切片 tuple = ("city",15,20,"pig")
print(tuple[0:2]) #从第一个位置到第三个位置(不包含第三个元素) print(tuple[-3:-1])
#从倒数第三个位置到倒数第一个位置(不包含倒数第一个元素) print(tuple[1:-2]) #从第一个位置到倒数第二个位置(不包含倒数第二个元素)
#步长示例 print(tuple[1:4:2]) #从第一个位置到第四个位置,间隔为2 # "city",20
列表与元组的加法运算

列表与元组支持加法运算,加法运算的和就是两个列表或元组的所有元素之和

注意:列表只能与列表相加,元组只能与元组相加,元组不能直接与列表相加

示例:
#列表加法 list1 = ["continue",11,"python",20] list2 = [1,2,3] sum_list = list1 +
list2 print(sum_list) #元组加法 tuple1 = ("city",15,20,"pig") tuple2 = (1,2,3)
sum_tuple = tuple1 + tuple2 print(sum_tuple)
列表与元组的乘法运算

列表与元组支持与整数进行乘法运算,列表与元组的乘法运算就是把它们包含的元素重复N次(N就是被乘的倍数)

示例:
#列表乘法 list = ["continue",11,"python",20] a = list * 3 print(a) #元组乘法 tuple =
("city",15,20,"pig") b = tuple * 3 print(b)
in运算符

in运算符用于判断列表或元组是否包含某个元素

示例:
#列表 in list = ["continue",11,"python",20] print("python" in list) #True
print(21 in list) #False #元组 in tuple = ("city",15,20,"pig") print("city" in
tuple) #True print(24 in tuple) #False
长度、最大值和最小值

python提供了内置的len()、max()和min()全局函数来获取列表与元组的长度、最大值和最小值

由于max()和min()函数要对列表、元组中的元素进行比较大小,所以传给max()和min()函数的列表、元组必须是相同类型的并且可以比较大小

示例:
#列表 len() max() min() list = [1,11,2,20] print(len(list)) print(max(list))
print(min(list)) #元组 len() max() min() tuple = (1,15,20,2) print(len(tuple))
print(max(tuple)) print(min(tuple))
序列封包和序列解包

python还提供了序列封包和序列解包的功能。简单来说,python支持以下两种赋值方式:

* 程序把多个值赋给一个变量时,python会自动将多个值封装成一个元组。这种功能被称为序列封包
* 程序允许将序列(列表或元组等)直接赋值给多个变量,此时序列的各元素会依次赋值给每个变量(要求序列的元素个数与变量个数相同)。这种功能被称为序列解包
示例:
#序列封包:自动将多个值封装成元组 val = 10,20,30 print(val) #(10,20,30) print(type(val))
#<class 'tuple'> #序列解包:元组或列表等赋值给多个变量 tuple = tuple(range(1,10,2)) a,b,c,d,e =
tuple print(a,b,c,d,e) print(type(a)) #int list = ["dog","pig"] str1,str2 =
list print(str1,str2) print(type(str1)) #str
根据这两个功能可以实现多个变量输入多个值

示例:
x,y,z = 10,20,30 #上述代码等于下面代码 #先执行程序封包 xyz = 10,20,30 #再执行程序解包 x,y,z = xyz
使用这种语法,也可以实现交换变量的值

示例:
x,y,z = 10,20,30 #将y,z,x依次赋值给x,y,z x,y,z = y,z,x print(x,y,z)
在序列解包时可以只接触部分变量,剩下的依然使用列表变量保存。为了使用这种解包方法,python允许在左边被赋值的变量之前添加了 *
,那么该变量就代表一个列表,可以保存多个元素

示例:
first,second,*rest = range(1,10) print(first) #保存第一个元素 print(second) #保存第二个元素
print(rest) #保存剩下的元素 *begin,last = range(1,10) print(begin) #保存最后一个元素
print(last) #保存前面剩下的元素 print(type(begin))# list print(type(last)) # int
还有first,*middle,last的格式

技术
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信