为什么Python根据构造矩阵的方式对分配矩阵元素有不同的反应?

时间:2018-12-10 05:59:21

标签: python python-3.x

这是我的问题:

假设我建立了一个3x4矩阵:

第一种方法:

M = []
k=1;
while k<12:
M.append([k,k+1,k+2,k+3])
k=k+4

我在输出中得到这个:

0 -> [1, 2, 3, 4]                                                                                                                      
1 -> [5, 6, 7, 8]                                                                                                                      
2 -> [9, 10, 11, 12]

好的,现在让我们分配一些元素M[2][1]=0

0 -> [1, 2, 3, 4]                                                                                                                      
1 -> [5, 6, 7, 8]                                                                                                                      
2 -> [9, 0, 11, 12] 

确定可以。现在,这是第二种方式的问题:

    lst1=[] 
    T=[] 
    for k in range(0,3):
        lst1.append(0)
    for j in range(0,4):
        T.append(lst1)

输出:[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] 注意:我要做的代码是转置函数,因此该矩阵的尺寸

现在让我们(尝试)分配T[3][0]=4

输出:

0 -> [4, 0, 0]                                                                                                                         
1 -> [4, 0, 0]                                                                                                                         
2 -> [4, 0, 0]                                                                                                                         
3 -> [4, 0, 0]

不是,它会更改所有列而不是元素。有没有办法让它在第二个选项上正常工作?

我不明白为什么要这么做。我使用python3

谢谢! python新手

0 个答案:

没有答案