Python ---Day3
一、列表和元组的操作
1、学习列表的增删改查排序,反转等内容。
#学习列表的增删改查排序,反转等内容。 #name[1] names.append .insert .remove name[1]="" .pop .clear .extend .reverse .count #1、列表增加:append insert names =["ZhangSan","LiSi","WangWu","ZhaoLiu","ZhuBa","QianQi"] print("原始列表:",names) names.append("SunJiu") #append 最后增加 就是追加的意思 print("最后增加SunJiu:",names) names.insert(1,"ZhouShi") #insert 中间位置插入。 1是插入位置的下标 第一个位置下标是0 print("第二个位置增加ZhouShi:",names) #2、列表删除里面的项---删LiSi,位于列表第三个位置 names.remove("LiSi") #第一种删除方法 del names[2] #第二种删除方法 = names.pop(2) #names.pop() #删除最后一个内容 names.pop(2) #pop里面加上LiSi的下标 2,就与del names[2]一样了。第三种删除方法 print("删除Lisi:",names) #3、修改列表中的内容----将第二个位置的ZhouShi改为WangEr. names[1]="WangEr" print("第二个位置ZhouShi改为WangEr:",names) #4、提取列表中的内容即查看列表中的内容,切片过程中0(头)可以省略 print("提取列表中第一个位置的数据:",names[0]) print("提取列表中第二个位置的数据:",names[1]) print("提取列表中最后一个位置的数据:",names[-1]) #下面这个过程称为切片,顾头不顾尾,所以是2.不是1,另外0可以省略, #下面内容=print("提取列表中前两个位置的数据:",names[:2]) print("提取列表中前两个位置的数据:",names[0:2]) #提取列表中最后三个位置的数据,下面过程称为切片,由于顾头不顾尾,所以-3:这个位置不能输入-1 #这里并不是-1省略的。 print("提取列表中最后三个位置的数据:",names[-3:]) #5、清空列表内容 #names.clear() print("清空列表内容:",names) #6、找出表中相同内容的数目。 count("需要计算数量的内容") names.append("ZhangSan") print(names) print("列表中有几个ZhangSan:",names.count("ZhangSan")) #7、找出列表中内容在列表什么位置,index显示位置如果有多个相同的人名只会显示第一个位置 print(names) print("ZhuBa在列表中的位置:",names.index("ZhuBa")) #8、列表中增加另一个列表中的内容。也就是拓展列表。 names2 = [1,2,3,4] names.extend(names2) print("names列表增加names2类表内容后显示结果:",names) print(names2) #9、列表内容反转。 print("列表反转前内容:",names) names.reverse() print("列表反转后内容:",names) #10、列表排序,顺序, 数字,特殊符号,大写字母,小写字母顺便排序。 names3 =["ZhaoSan","@!ZhangYi","3LIsi","Chaoshi","2QianBa","zhouWu"] print("names原始列表:",names3) names3.sort() print("names3列表排序:",names3)
显示结果:

2、列表复制与深度复制,循环依次显示列表内容,隔位显示列表内容。
注:在切片过程中最后一个下标-1省略与不省略是有区别的。(切片顾头不顾尾)
names =["ZhaoSan","@!ZhangYi",["ZhaoYi","LaoWu"],"3LIsi","Chaoshi","2QianBa","zhouWu"] name2=names.copy() print("原始names列表数据:",names) print("name2列表数据:",name2) #修改names列表中的数据。修改"@!ZhangYi"为中文张仪,修改小列表中"ZhaoYi"为中文赵翼 names[1]= "张仪" names[2][0] = "赵翼" print("修改后names后names列表数据:",names) print("修改后names后name2列表数据:",name2) name2[3]= "李思" name2[2][1]="老武" print("修改后name2后names列表数据:",names) print("修改后name2后name2列表数据:",name2) #打印发现大列表中内容不变,但是小列表中的内容变了。这是因为copy是浅copy,只是复制大列表的内容, #小列表中的内容会复制内存中的位置,所以name2中小列表中的内容也变了。 #为解决这个问题使用深COPY import copy names =["ZhaoSan","@!ZhangYi",["ZhaoYi","LaoWu"],"3LIsi","Chaoshi","2QianBa","zhouWu"] name2 = copy.deepcopy(names) names[1]= "张仪" names[2][0] = "赵翼" print("使用深COPY修改后names列表数据:",names) print("使用深COPY修改后name2列表数据:",name2) #依次打印数据 for i in (names): print(i) #隔位提取内容。 切片 print("切片-不省略-1:",names[0:-1:2]) #0---第一个位置下标 -1---最后一个位置下标 2---中间隔1个数 print("切片-省略-1:",names[0::2]) #相当于= print(names[::2]) print("切片-省略-1和0:",names[::2]) #从上面三行代码可以看出如果是切片过程中:-1省略与不省略有区别(切片顾头不顾尾)。0可以省略

posted on 2017-04-12 23:16 aptech2017 阅读(131) 评论(0) 收藏 举报
浙公网安备 33010602011771号