攻克python3-列表与元组(第三篇)

列表

1.列表的创建

names=["wurui","penghaokun","libowen","wurui","zhenshichao"]

2.列表的查看

print("names=",names)
print("names[0]=",names[0])             #查询第一个元素
#切片
print("names[-1]=",names[-1])           #查询最后一个元素
print("names[-2]=",names[-2])           #查询倒数第二个元素
print("names[0:3]=",names[0:3])         #查询前三个元素
print("names[:3]=",names[:3])           #从列表头开始切片查询,0可以省略
print("names[-3:-1]",names[-3:-1])      #从倒数第三个开始到倒数第一个元素
print("names[-3:]=",names[-3:])         #查询到列表尾部,-1可以省略
#步长切片
print("names[0:-1:2]=",names[0:-1:2])   #从头到尾隔一个输出一个
print("names[::2]=",names[::2])         #0与-1 可以省略  !!!问题省略之后不一样
print("wurui"in names)                  #判断"wurui"是否在列表

3.列表的增加

print("增加前的列表:",names)
#names.append("zhouxuqiang")             #append函数添加到列表尾部,不能批量添加
names.insert(1,"zhouxuqiang")            #insret函数添加到指定位置,不能批量添加
print("增加后的列表:",names)

4.列表的修改

print("修改前的列表:",names)
names[3]="guochangcheng"                 #通过覆盖直接赋值修改
print("修改后的列表:",names)

5.列表的删除

print("删除前的列表:",names)
#del names[2]
#names.remove("zhenshichao")
#names.pop()
names.pop(3)                             #pop函数不带参数,直接删除尾部元素
print("删除后的列表:",names)

6.查询元素角标

print("penghaokun的角标:",names.index("penghaokun"))

7.列表的反转与排序

#反转
print("元素的反转:")
print("反转前的列表:",names)
names.reverse()
print("反转后的列表:",names)

#排序
print("元素的排序:")
print("排序前的列表:",names)
names.sort()                             #排列的顺序按照ascll码表从小到大
print("排序后的列表:",names)

8.元素在列表中出现的次数

print("wurui出现的次数:",names.count("wurui"))

9.列表的拼接

names1=[1,2,3]
print("被拼接的列表;",names)
print("拼接的列表:",names1)
names.extend(names1)                    #拼接后names1依然存在
print("拼接后的列表:",names)

10.列表元素的清空与列表的删除

print("列表清空前:",names)
names1.clear()
print("列表清空后:",names1)
del names1                           #列表的删除

11.列表的复制

import copy
#浅复制
print("列表的浅复制:")
names1=["wurui","penghaokun",["guochangcheng","zhouxuqiang"],"libowen","wurui","zhenshichao"]
#names2=copy.copy(names1)
#names2=names1[:]       #完全切片
#names2=list(names1)
names2=names1.copy()        #浅copy的四种方式
print("被复制的列表:",names1)
print("复制的列表:",names2)
names1[1]="彭浩堃"
names1[2][0]="郭长城"
print("修改后被复制的列表:",names1)
print("修改后复制的列表:",names2)
#copy函数是一个浅复制,只复制第一层列表,在一级列表中把二级的地址也一起复制过去了,一旦这个地址里面的值发生改变,复制的列表与被复制的列表都会发生改变
#深复制
print("列表的深复制:")
names1=["wurui","penghaokun",["guochangcheng","zhouxuqiang"],"libowen","wurui","zhenshichao"]
names2=copy.deepcopy(names1)
print("被复制的列表:",names1)
print("复制的列表:",names2)
names1[1]="彭浩堃"
names1[2][0]="郭长城"
print("修改后被复制的列表:",names1)
print("修改后复制的列表:",names2)              #现在完完全全复制了,两个列表互不相干

12.列表的循环输出

for i in names:
    print(i)


元组

只可以查看和删除,其余操作都不行

names=("wurui","penghoakun")
print(names)
print("wuiru出现的次数:",names.count("wurui"))
print("penghaokun的角标",names.index("penghoakun"))
del names


原文地址:https://www.cnblogs.com/kxsph/p/8848405.html