嵌套 二维列表
Martrix(举证)
For i in matrix:
For each in i:
Print(each)
1
2
3
4
5
6
7
8
9
For i in matrix:
For each in i:
Print(each,end=’ ‘)
Print()
1 2 3
4 5 6
7 8 9
A=[0]*3
[0,0,0]
For i in range(3):
A[i]=[0]*3
“is”同一性运算符
X=”aa”
Y=”aa”
X is y true
X=[1,2,3]
Y =[1,2,3]
X is Y false
并不是拷贝,重复引用
变量不是一个盒子 “引用”传递
浅拷贝
X=[1,2,3]
Y=x.copy()
X[1]=1
X[1,1,3]
Y[1,2,3]
X=[[1,2,3],[4,5,6],[7,8,9]]
Y=x.copy()
X[1][1]=0
X [[1,2,3],[4,0,6],[7,8,9]]
Y [[1,2,3],[4,0,6],[7,8,9]]
深拷贝
import copy
X=[[1,2,3],[4,5,6],[7,8,9]]
Y=copy.copy(x)
X [[1,2,3],[4,0,6],[7,8,9]]
Y [[1,2,3],[4,0,6],[7,8,9]]
X=[[1,2,3],[4,5,6],[7,8,9]]
Y=copy.deepcopy(x)
X[1][1]=0
X [[1,2,3],[4,0,6],[7,8,9]]
y [[1,2,3],[4,5,6],[7,8,9]]
方法 函数
列表推导式
Oho=[1,2,3,4,5]
每个元素*2
For i in range(len(oho)):
Oho[i]=oho[i]*2
Oho=[1,2,3,4,5]
Oho=[i*2 for i in oho]
[表达式for数据]
X=[i for i in range(10)]
X[0,1,2,3,4,5,6,7,8,9]
X=[i +1 for i in range(10)]
X[1,2,3,4,5,6,7,8,9,10]
X=[ ]
For i in range(10):
X.append(i+1)
X[1,2,3,4,5,6,7,8,9,10]
Y=[c*2 for c in “fishc”]
Y[‘ff’,’ii’,’’ss’,’hh’,’cc’]
Code=[ord(c) for c in “fishc”] ord:将单个字符串转换为对应编码
[70,105,115,104,67]
Matrix=[[1,2,3],
[4,5,6],
[7,8,9]]
提取第二列元素
Col2=[row[1] for row in matrix]
Col2=[2,5,8]
提取主对角线原色
diag=[matrix[i][i] for i in range(len(matrix))]
Diag=[1,5,9]
副对角线
diag=[matrix[len(matrix)-1-i][i] for i in range(len(matrix))]
循环 和 列表推导式
迭代 逐渐修改 创建一个新列表 赋值回去



