⑴ python萌新求救!!创建一个二维矩阵~~
def aaa(n):
tmp=[]
for x in range(n):
if x==0 or x==n-1:
tmp.append([1]*n)
else:
tmp.append([1]+[0]*(n-2)+[1])
return tmp
if __name__=='__main__':
import pprint
pprint.pprint(aaa(6))
⑵ Python表示矩阵的方法分析
Python表示矩阵的方法分析
本文实例讲述了Python表示矩阵的方法。分享给大家供大家参考,具体如下:
在c语言中,表示个“整型3行4列”的矩阵,可以这样声明:int a[3][4];在python中一不能声明变量int,二不能列出维数。可以利用列表中夹带列表形式表示。例如:
表示矩阵 ,可以这样:
count = 1
a = []
for i in range(0, 3):
tmp = []
for j in range(0, 3):
tmp.append(count)
count += 1
a.append(tmp)
print a
结果:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
但是注意一点:初始化(赋值全部为0时),下面是错误的!!
tmp = []
for j in range(0, 3):
tmp.append(0)
a = []
for i in range(0, 3):
a.append(tmp)
print a
结果:
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
原因:这样的列表tmp为同一个,改变任意行,其他行都会给随着改变,千万注意!!,下面正确:
a = []
for i in range(0, 3):
tmp = []
for j in range(0, 3):
tmp.append(0)
a.append(tmp)
print a
⑶ 在python中,如何通过键盘输入,给矩阵的每一个元素赋值
我也研究了很久,终于发现问题了.
函数没错.
错在定义 earth 的时候.
earth=[[0]*n]*n#doesnotwork
earth=[[0,0,0],[0,0,0],[0,0,0]]#work
⑷ python 矩阵赋值问题
问题出在 C=[[0]*n]*m 假若n=2 m=2 C=[[0,0],[0,0]] 用id函数查看C[0]和C[1]的id值是一样的。在内存中享有共同的区域,导致 列黏在一起。 列表* m的方式起始应该属于浅复制,得到的列表 在内存中占同一空间,即id值 一样。你可以看一下浅复制和深复制
把 C=[[0]*n]*m 改为 empty_like(A) 就可以啦
⑸ python 怎么实现矩阵运算
1.numpy的导入和使用
data1=mat(zeros((
)))
#创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3)
data2=mat(ones((
)))
#创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int
data3=mat(random.rand(
))
#这里的random模块使用的是numpy中的random模块,random.rand(2,2)创建的是一个二维数组,需要将其转换成#matrix
data4=mat(random.randint(
10
,size=(
)))
#生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数
data5=mat(random.randint(
,size=(
))
#产生一个2-8之间的随机整数矩阵
data6=mat(eye(
,dtype=
int
))
#产生一个2*2的对角矩阵
a1=[
]; a2=mat(diag(a1))
#生成一个对角线为1、2、3的对角矩阵