标签:
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成为name3 print(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)]=999999 print(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,copy name = ["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,查看内存位置
标签:
原文地址:http://www.cnblogs.com/WDeLong/p/5849355.html