1.列表3
#列表3
hero=[1,2,3,4,5,6]
hero[2]=9
print(hero)#[1, 2, 9, 4, 5, 6]
#使用列表切片,将索引为三的及之后的更改
hero[3:]=["阿城","阿发","无法"]
print(hero)#[1, 2, 9, '阿城', '阿发', '无法']
#顺序(.sort())
hero2=[4,6,3,6,3,7,2,7,3,64,2]
hero2.sort()
print(hero2)#[2, 2, 3, 3, 3, 4, 6, 6, 7, 7, 64]
#倒序(.reverse())
hero2.reverse()#[64, 7, 7, 6, 6, 4, 3, 3, 3, 2, 2]
print(hero2)
#print(hero2.reverse())这种写法传出打印的值为none
#列表中的数有多少个
hero.count(2)
#获取字符串索引号
hero.index("阿发")
#获取字符串索引号然后改变索引位置上的字符串
hero[hero.index("阿发")]="你好"
#index(x,strat,end),x为查询的字符,start为从第几个索引开始,end为结束查找索引
#输出的结果是查询字符所在的索引号##如果查询的字符没有在列表中将会出现报错
print(hero.index(2))#1
print(hero.index(2,1,5))#1
#copy复制
hero_copy1=hero.copy()
print(hero_copy1)#[1, 2, 9, '阿城', '你好', '无法']
#列表切片复制
hero_copy2=hero[:]
print(hero_copy2)#[1, 2, 9, '阿城', '你好', '无法']
2.列表4
#列表4加法乘法
s=[1,2,3]
t=[4,5,6]
#两个列表相加[1, 2, 3, 4, 5, 6]
print(s+t)
#列表*3打印结果是列表重复打印三次[1, 2, 3, 1, 2, 3, 1, 2, 3]
print(s*3)
#嵌套列表
matrix=[[1,2,3],[2,3,4],[3,4,5]]
print(matrix)
#[[1, 2, 3], [2, 3, 4], [3, 4, 5]]
matrix=[
[1,2,3],
[2,3,4],
[3,4,5]
]
print(matrix)
#[[1, 2, 3], [2, 3, 4], [3, 4, 5]]
#循环打印列表
for i in matrix:
for each in i:
print(each)
#第二个matrix的打印
for i in matrix:
for each in i:
print(each,end=' ')
print()
'''
1 2 3
2 3 4
3 4 5
'''
#is函数判断列表是否相同
#字符串与列表不同
a="nihao"
b="nihao"
print(a is b)#True
x=[1,2,3]
y=[1,2,3]
if(x is y):
print(True)
else:
print(False)
#False
#二维列表,就看到matrix打印的第二个
print(matrix[1][1])#3
3.列表5
#列表5
#变量引用及修改
x=[1,2,3]
y=x
x[1]=3
print(x)#[1, 3, 3]
print(y)#[1, 3, 3]将x打印到y
#下面有些不同
#深拷贝,浅拷贝
#浅拷贝
nin=[1,2,3]
y=nin.copy()
print(y)#[1, 2, 3]
nin[1]=4
print(nin)#[1, 4, 3]
print(y)#[1, 2, 3]
#切片拷贝
y=nin[:]
nin[2]=6
print(nin)#[1, 4, 6]
print(y)#[1, 4, 3]
#浅拷贝没有带入改变的量,与引用(第一个)不同
#拷贝导入import copy
import copy
#浅拷贝copy
a=[[1,2,3],[4,5,6],[7,8,9]]
b=copy.copy(a)
a[2][2]=0
print(b)#[[1, 2, 3], [4, 5, 6], [7, 8, 0]]
#深拷贝deepcopy(在将原对象拷贝的同时也将对象所引用的子对象拷贝)
c=copy.deepcopy(a)
a[0][0]=10
print(a)#[[10, 2, 3], [4, 5, 6], [7, 8, 0]]
print(c)#[[1, 2, 3], [4, 5, 6], [7, 8, 0]]