基本数据类型之列表
一、定义:形如:A=['数据1,'数据2','数据3',... ' ],即:在[ ]内用逗号分隔开的多个任意数据类型的值,且可以重复。
1 list=['marsha','你好',[1,2,3],49] 2 print(list) 3 >>> 4 ['marsha','你好',[1,2,3],49]
二、数据类型转换: 列表是可变数据类型,但凡能被for循环遍历的数据类型都可以传给list( )转换成列表类型,list( )会跟for循环一样遍历出数据类型中包含的每一个元素然后放到列表中。
1 name='marsha' 2 age=49 3 msg={'name':'marsha','age':49} 4 res=[1,2,3] 5 m=(1,2,3,4) 6 n={1,2,3,4,5} 7 print(name) 8 print(age) 9 print(res) 10 print(m) 11 print(n) 12 #输入结果 13 ['m','a','r','s','h','a'] 14 [4,9] 15 ['name','age'] #遍历k 16 [1,2,3] 17 [1,2,3,4] 18 [1,2,3,4,5]
三、内置方法
A、按索引存取值:对于list来说,即可以按照索引取值,又可以按照索引修改指定位置的值,但如果索引不存在就会报错。正向取值是从左到右,从0开始数,反向取是从右向左,从-1开始数。
1 msg=['name','age','marsha','titi',4] 2 msg[2]='marrey' 3 print(msg[0] 4 print(msg) 5 >>> 6 'name' 7 ['name','age','marrey','titi',4]
B、切片slice:是一种浅拷贝行为,从list中按照 [start:end;step] 语法格式取值,切片索引方向由step的正负决定,方法如str(见前一个笔记),顾头不顾尾。
1 res=[0,1,2,3,4,5,6,7] 2 print(res[0:5:2] 3 >>> 4 [0,2,4]
C、长度len:计算list中,由逗号分隔开的元素的个数,从1开始数。
msg=['marsha','titi',49,'max'] print(len[msg]) >>> 4
D、成员运算 in 和 not in
1 msg=['name','age','titi',49] 2 print('age' in msg) 3 >>> 4 True
E、添加操作:
在列表尾部追加元素用:append( ) #先进先添加
在列表尾部一次性添加多个元素用:extend( )
在列表指定位置插入元素用:insert( ) #按索引位置插入,可以中间或任意位置
1 L=['a','b','c'] 2 L.append('d') 3 L.append('e')) 4 print(L) 5 >>> 6 ['a','b','c','d','e'] 7 8 M=['a','b','c','d'] 9 N=M.extend(['h','i','j'] 10 H=N.insert(1,'m')) 11 print(N) 12 Print(H) 13 >>> 14 ['a','b','c','d','h','i','j'] 15 ['a','m','c','d','h','i','j']
F、删除操作
通用删除:del 后彻底删除指定内容,按索引删除,删除的数据不能赋值操作,没有返回值。
默认删除列表中最后一个元素:pop( );在括号内写明要删除指定位置元素:pop(索引位置),能返回删除的值
指名道姓的表示要删除哪个元素:remove( ),没有返回值
m=['a','b',3,4,5] del m[1] print(m) #输出结果 ['a',3,4,5] res=m.pop( 2) print(m) print(res) #输出结果 ['a','b',,4,5] 3 n=m.remove('b') print(m) print(n) #输出结果 ['a',3,4,5] None
G、排序操作
a:颠倒列表中的元素顺序用:reverse( )
b: 排序:sort( ) ,列表中相同数据类型可以排序,不可混搭,否则会报错!sort( )给列表内的元素按从小到大进行排序;如果要按从大到小的顺序排,可以用reverse,默认为False,定义其为真,即:reversr=True,为跌倒顺序。
排序要分大小顺序排,我们常用的数字类型可以直接比较大小,但其实,字符串,列表等都可以比较大小,并可以按大小顺序排序,字符串之间的大小,取决于它在ASCI码表中的位置,越往后越大。
c、切片可以实现列表翻转 [::-1]
1 l=[23,45,6,17,88] 2 l.reverse() 3 print(l) 4 >>> 5 [88,17,6,45,23]
l=[23,45,6,17,88] l.sort() print(l) >>> [6,17,23,45,88] l.sort(reverse=True) print(l) >>> [88,45,23,17,6]
l = ['A','z','adjk','hello','hea']
l.sort()
print(l)
>>>
['A', 'adjk', 'hea', 'hello','z']
H、比较大小:列表与列表之间,数据类型相同,如:是数字或者都是ASCI码表上的字符,则可以比较列表之间的大小。方法是:依次比较对应位置元素的大小,如果分出大小,则无需比较下一个元素。
1 L1=[1,2,3] 2 L2=[2,1] 3 L1>L2 4 >>> 5 False 6 7 S1=[‘abc’,'he'] #'abc' 8 S2=['az','hello'] #'az' 9 S2>S1 #两个列表的第一个元素比较,第一个字符'a'相同,比较第二个字符'b''z',在ASCI码表中,'z'的位置在后,所以比'b'大 10 >>> 11 True
I、循环:遍历列表里所有的值,for x in y :注意:in后面的元素不要写代码值
1 msg=['marsha','titi','jack',49] 2 for x in msg: 3 print(x) 4 >>> 5 'marsha' 6 'titi' 7 'jack' 8 49
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!