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

Python-数据类型列表

时间:2023-03-26 16:48:16 Python

数据类型——列表List是python中最常用的容器类型之一。它由一对方括号包裹。括号中可以存储多个元素。元素用逗号分隔,元素可以是不同的数据类型。1.特点可变数据类型:列表中的元素是可变的,列表的本质只是元素的内存地址。改变元素就是改变内存地址的有序序列:list中存储的元素是有序的,第一个元素的索引位置为0,list也可以在累加1后进行索引切片。例子data_list=["Tom",1,True,["aa","bb"]]2.索引和切片data_list=["Tom",1,True,['aa','bb']]print(data_list[0])#Tomprint(data_list[1])#1print(data_list[::-1])#[['aa','bb'],True,1,'Tom']print(data_list[:-2])#['Tom',1]print(data_list[:20])#['Tom',1,True,['aa','bb']]切片和索引与字符串和索引具有相同的特征需要注意越界问题3列表常用操作3.1添加append():将元素追加到列表的最后位置语法listsequence.append(data)例子name_list=['Tom','Lily','Rose']name_list.append('wuchang')#Result:['Tom','Lily','Rose','wuchang']name_list.append(["cross","action"])#Result:['汤姆','百合','玫瑰','武昌',['cross','action']]append()追加数据是一个序列,然后将整个序列追加到列表中sequencetothelistsyntaxlistsequence.extend(data)例子name_list=['Tom','Lily','Rose']name_list.extend('wuchang')#Result:['Tom','Lily','Rose','w','u','c','h','a','n','g']name_list.extend(["cross","action"])#结果:['Tom','Lily','rose','w','u','c','h','a','n','g','cross','action']insert():在指定位置插入一个元素列表中的位置语法listsequence.insert(subscriptposition,data)name_list=['Tom','Lily','Rose']name_list.insert(2,'wu_chang')#Result:['Tom','Lily','wu_chang','Rose']3.2删除pop():根据下标删除数据,返回数据。如果没有传递下标,则默认为最后一个数据语法列表序列。pop(下标)示例name_list=['Tom','Lily','Rose']name=name_list.pop(1)print(name)#Result:Lilyprint(name_list)#Result:['Tom','Rose']传入下标时注意下标越界,否则会抛出异常IndexErrorremove:删除列表语法listsequence.remove(data)中第一个匹配的数据例子name_list=['Tom','Lily','Rose']name_list.remove("Tom")#result:['Lily','Rose']如果数据不存在,则抛出异常ValueErrordel:删除整个列表,或者根据列表删除元素subscript语法dellistsequence或dellistsequence[subscript]示例name_list=['Tom','Lily','Rose']delname_list[1]#结果:['Tom','Rose']delname_listprint(name_list)#NameError:name'name_list'isnotdefineddel目标删除后,命名空间不再存在这个变量,所以会报错NameErrorclear():清空列表,列表还在,会变成空列表西ntax列表sequence.clear()name_list=['Tom','Lily','Rose']name_list.clear()#Result:[]3.3修改指定下标数据语法列表序列[subscript]=dataexamplename_list=['Tom','Lily','Rose']name_list='wu_chang#Result:['Tom','wu_chang','Rose']reverse():反向列表语法listsequence.reverse()name_list=['Tom','Lily','Rose']name_list.reverse()#['Rose','lily','tom']listsequence[::-1]也可以达到同样的效果sort():排序语法listsequence.sort(key=None,reverse=False)reverse表示排序规则,reverse=TrueDescendingorder,reverse=Falseascendingorder(默认),key表示根据什么排序,多用于字典排序例子data_list=[20,2,6,4,7,6,7,9,9,10]data_list。sort()#Result:[2,4,6,6,7,7,9,9,10,20]会改变原列表的值3.4查询判断index():返回位置的下标指定的数据,列表中不存在抛出异常语法*listsequence.index(data,startpositionsubscript,结束位置下标)例子name_list=['Tom','Lily','Rose']print(name_list.index('Tom')#result:1count():统计指定数据在指定数据中出现的次数当前列表name_list=['Tom','Lily','Rose']print(name_list.count('Tom'))#result:1len():return列表的长度,可以知道里面的元素个数根据这个函数的listname_list=['Tom','Lily','Rose']print(len(name_list))#Result:3inandnotin:当判断一个元素在一个序列中时,返回一个布尔结果,存在则返回True,不存在则返回Falsename_list=['Tom','Lily','Rose']print('Lily'inname_list)#result:Trueprint('Lilys'inname_list)#Result:Falseprint('Lily'notinname_list)#Result:Falseprint('Lilys'notinname_list)#Result:True