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

python中的列表和元组

时间:2023-03-25 21:27:49 Python

列表和数组的区别:列表是可变的,而元组是不可变的。(包含的元素是否可以改变)creation:#定义列表my_list=['01','demo',3]#定义元组my_tuple=('01','demo',3)一般用法:只要是不涉及改变对元素的操作,列表和元素的使用是通用的。(1)使用索引使用元素索引从0开始,也支持负索引(从-1开始)my_list=['01','demo',3]print(my_list[0])#01my_tuple=('01','demo',3)print(my_tuple[-1])#3(2)序列切片语法格式为:[start:end:step]从头到尾切片,但不包括末端;step为步长,默认为1,如果为负数则无意义my_list=[1,2,3,4,5,6,7,8]print(my_list[2:5])#[3,4,5]my_tuple=(1,2,3,4,5,6,7,8)print(my_tuple[3:9:3])#(4,7)(3)添加元素之和包含在两个列表或元组中。不能添加列表和元组。my_list1=[1,2,3]my_list2=[4,5,6]my_list3=my_list1+my_list2print(my_list3)#[1,2,3,4,5,6](4)乘法列表和元组包含的元素是重复N次。my_list=[1,2,'a']my_list2=my_list*3print(my_list2)#[1,2,'a',1,2,'a',1,2,'a'](5)运行中运算符来确定列表或元组是否包含元素。my_tuple=(1,2,'3',4,'5')print(2inmy_tuple)#True(6)将长度、最大值和最小值传递给max()和list的tuple和listmin()函数的元素必须是同一类型并且在大小上具有可比性。my_list=[1,2,3,4,5]print(max(my_list))#5my_tuple=('a','b','3')print(min(my_tuple))#3print(len(my_tuple))#3(7)序列打包和序列拆包序列打包:当程序给一个变量赋多个值时,会自动将多个值打包成元组。序列拆包:程序允许序列直接赋值给多个变量,每个元素依次赋值给每个变量(要求序列中元素个数等于变量个数)vals=1,2,3,4,5print(type(vals))#my_tuple=tuple(range(1,10,2))print(my_tuple)#(1,3,5,7,9)a,b,c,d,e=my_tupleprint(a,b,c,d,e)#13579x,y,z=1,2,3print(x,y,z)#123xyz=4,5,6x,y,z=xyzprint(x,y,z)#456#交换变量的值x,y,z=y,z,xprint(x,y,z)#564first,second,*rest=range(10)print(first)#0print(second)#1print(rest,type(rest))#[2,3,4,5,6,7,8,9],使用list(1)创建listmy_tuple=(1,2,'3',4,5)my_list=list(my_tuple)print(my_list,type(my_list))#[1,2,'3',4,5]my_range=range(1,5)my_list2=list(my_list2)print(my_list2,type(my_list2))#[1,2,3,4](2)添加列表元素append()会将传入的参数追加到列表的末尾。可以接受单个值、列表、元组等,但只将元组、列表视为单个元素。外汇出入金流程http://www.fx61.com/supportmy_list=[1,2,3,'4','5']my_list.append(6)print(my_list)#[1,2,3,'4','5',6]my_tuple=('a','b','c')my_list.append(my_tuple)print(my_list)#[1,2,3,'4','5',6,('a','b','c')]如果不想把追加的列表当作一个整体,而是想增加列表中的元素,可以使用extend()方法。my_list=[1,2,3]my_list2=['a','b','c']my_list.extend(my_list2)print(my_list)#[1,2,3,'a','b','c']my_list.extend(range(3,10))print(my_list)#[1,2,3,'a','b','c',3,4,5,6,7,8,9]insert()可以向列表中添加元素并指定插入位置。my_list=[1,2,3]my_list.insert(2,'a')print(my_list)#[1,2,'a',3]my_tuple=('b','c','d')my_list.insert(3,my_tuple)print(my_list)#[1,2,'a',('b','c','d'),3](3)删除列表元素del可以用来删除列表元素也可以删除列表的中间段,也可以用来删除变量。my_list=[1,2,(3,4,5),'a','b','c']delmy_list[2]print(my_list)#[1,2,'a','b','c']delmy_list[3:5]print(my_list)#[1,2,'a']my_list2=list(range(1,10))delmy_list2[2:-2:2]print(my_list2)#[1,2,4,6,8,9]del删除变量。num=10delnumprint(num)#NameError:name'num'isnotdefinedremove()删除第一个匹配的列表元素。my_list=[1,2,3,1,1,4,'5']my_list.remove(1)print(my_list)#[2,3,1,1,4,'5']clear()清除列出的所有元素。my_list.clear()print(my_list)#[](4)修改列表元素按索引修改列表元素(正索引,负索引)my_list=[1,2,'a','b']my_list[-2]=3print(my_list)#[1,2,3,'b']通过slice()给部分列表赋值,不要求新赋值的元素个数与原元素个数相等,以便可以将元素添加到列表中,也可以从列表中删除元素。my_list=list(range(1,5))my_list[1:3]=['a','b']print(my_list)#[1,'a','b',4]插入元素。my_list=list(range(1,5))my_list[1:3]=['a','b','c','d','e']print(my_list)#[1,'a','b','c','d','e',4]删除元素。my_list=list(range(1,5))my_list[1:3]=[]print(my_list)#[1,4]使用字符串赋值会自动将字符串视为一个序列,其中每个字符都是一个元素。my_list=list(range(1,5))my_list[1:3]='fltenwall'print(my_list)#[1,'f','l','t','e','n','w','a','l','l',4]使用分片赋值时,还可以指定step参数,要求赋值的列表元素个数等于待赋值的列表元素个数更换。my_list=list(range(1,10))my_list[2:9:2]=['a','b','c','d']print(my_list)#[1,2,'a',4,'b',6,'c',8,'d'](5)列出其他常用方法dir(list)查看列表中包含的所有方法。count用于统计列表中某个元素出现的次数。my_list=[1,2,3,2,1,'1','2',3,2,1]print(my_list.count(2))#3index()用于定位列表中的一个元素可以传入start和end参数的position来搜索列表指定范围内的元素。print(my_list.index(3,1,8))#21pop()和append()stack=[]stack.append('a')stack.append('b')stack.append('c')print(stack)#['a','b','c']stack.pop()#'c'print(stack)#['a','b']everse()反转所有元素的顺序列表更改。my_list=list(range(1,10))my_list.reverse()print(my_list)#[9,8,7,6,5,4,3,2,1]sort()用于对列表元素进行排序.my_list=[1,7,3,5,6,2]my_list.sort()print(my_list)#[1,2,3,5,6,7]sort()可以传入key和reverse参数,这些两个参数必须由参数名称指定。key为每个元素生成一个比较大的“键”,reverse用于执行是否反向排序,默认是从小到大。my_list=['python','go','java','ruby','lua']my_list.sort(key=len,reverse=True)print(my_list)#['python','java','红宝石','lua','去']