在刷题时用到了数组,因为不提供三方库所以不能使用Numpy。想如何通过python列表模拟数组。
第一种方法
"""
生成n*m的初始值为0的矩阵
"""
n = 5
m = 3
a = [[0 for j in range(m)] for i in range(n)]
print(a)
结果:
第二种方法
#coding=gbk
"""
生成n*m的初始值为0的矩阵
"""
n = 5
m = 3
b = [0]*m
b = [b.copy() for i in range(n)]
结果
注意:不能使用下面代码生成矩阵
#coding=gbk
"""
生成n*m的初始值为0的矩阵
"""
n = 5
m = 3
b = [0]*m
b = [b]*n
print(b)
结果虽然是
但是如果我们改变\(b\)中的一个值会发现
#coding=gbk
"""
生成n*m的初始值为0的矩阵
"""
n = 5
m = 3
b = [0]*m
b = [b]*n
b[0][1] = 1
print(b)
这是因为浅拷贝的原因。