首页 > 代码库 > python 数据类型(列表)学习笔记
python 数据类型(列表)学习笔记
列表
创建列表:
name_list = [‘alex‘, ‘seven‘, ‘eric‘]或name_list = list([‘alex‘, ‘seven‘, ‘eric‘])
其实今天学习的主要内容是
索引
切片
追加
删除
长度
切片
循环
包含
索引和切片:
可以通过下标进行灵活取值
定义一个列表 name = ["baobao","wangdleong","wangwenzhe","wangweiyi","wangda","wanger"]
name = ["baobao", "wangdleong", "wangwenzhe", "wangweiyi", "wangda", "wanger"]print(name[0]) #默认下标从0开始print(name[2]) #取出来第三个值print(name[0:2]) #取出零到到二之间的值print(name[-1]) #取出倒数第一个值print(name[::2]) #通过步长取值print(name[-3:]) #倒数第三个到最后的值print(name[::2][0]) #取出步长为2,下标为0的值print(name[::2][0][0])#对值进行再次切片name[0]="baoshan" #利用下标修改内容name.insert(3,"wangdejiang") #直接插入下标为3的位置内容name.append("lingling") #追加内容到最后name.remove("baoshan") #直接删除内容print(name)
打印的内容如下:
小练习:
name = ["baobao", "wangdleong", "xiaodongfang","wangwenzhe", "wangweiyi", "wangda", "wanger"]name.insert(-1,"dalongfeng") #插入下标为-1的前面name.insert(3,"dabaozi") #插到下标为3的位置name2=name[2:8] #定义一个变量等于第一个的下标为2到7之间的值print(name2)print(name)del name[7] #通过下标利用del删除插入的内容(如果是连续的可以使用[2:5])del name[3]name[1]="wangdelongzuzhang" #利用修改添加备注print(name)print(name[::2]) #利用步长进行隔离打印,隔离个数根据步长确定
打印内容如下:
列表的拷贝等操作:
name = ["baobao", "wangdleong", 9,44,25,634,478,9,"xiaodongfang","wangwenzhe", "wangweiyi", "wangda", "wanger",9,424,25,631,4748,99]print(9 in name) #判断列表是否包含元素9,如果有为真print(name.count(9)) #判断列表里面有几个9元素print(name.index(9)) #查找包含元素的第一个下标值name2=["dede",2, 8,9,3,7,1,58,"sdjagoew"]name.extend(name2) #合并列表name[0]="BAOBAO"print(name)name3=name.copy() #copy name成为name3print(name3)name.reverse() #翻转列表#name.sort() #排序,在3.0之后排序只能对字符串排序name2.pop() #默认删除最后一个name2.pop(1) #利用下标删除指定的值print(name2)print(name)#可以利用好循环修改列表里面所有相等的元组元素for i in range(name.count(9)): name[name.index(9)]=999999print(name)
打印的结果:
浅拷贝对比
name = ["baobao", "wangdleong", [9,44,25,634,478,9],"xiaodongfang","wangwenzhe", "wangweiyi", "wangda", "wanger",9,424,25,631,4748,99]name3=name.copy()name[0]="BAOBAO" #在此位置修改不会带到name3里面去name[2][1]=58247 #如果该镶套聊表里面的东西 name3会跟着变name3[2][2]="DDDDDD" #如果通过name3修改也会相互的更改#出现的原因是列表里面的镶套列表使用的是单独的内存空间print(name)print(name3)
深度拷贝应用,在下面有一个如何看元素个数的len
import sys,copyname = ["baobao", "wangdleong", [9,44,25,634,478,9],"xiaodongfang","wangwenzhe", "wangweiyi", "wangda", "wanger",9,424,25,631,4748,99]name3=name.copy()name4=copy.copy(name) #和neme拷贝一样,是浅拷贝name5=copy.deepcopy(name) #深度拷贝,是直接拷贝了一个内存块name[0]="BAOBAO" #在此位置修改不会带到name3里面去name[2][1]=58247 #如果该镶套聊表里面的东西 name3会跟着变name3[2][2]="DDDDDD" #如果通过name3修改也会相互的更改#出现的原因是列表里面的镶套列表使用的是单独的内存空间print(name)print(name3)print(name4)print(name5)
print(len(name5)) #列表长度,元素个数
print(id(name),id(name3),id(name4),id(name5)) #可以通过id,查看内存位置
python 数据类型(列表)学习笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。