来自Matlab我甚至无法想到奇异的数据点/变量.我处理的任何东西都是矩阵/数组.经过一周的搜索和错误的试验和错误,我意识到,我绝对不会在(普通)Python中得到处理矩阵的概念.
我建立
In[]: A = [[1,2,3], [9,8,7], [5,5,5]]
In[]: A
Out[]: [[1, 2, 3], [9, 8, 7], [5, 5, 5]]
Run Code Online (Sandbox Code Playgroud)
试图沿着两个维度提取矩阵中的向量:
In[]: A[:][1]
Out[]: [9, 8, 7]
In[]: A[1][:]
Out[]: [9, 8, 7]
Run Code Online (Sandbox Code Playgroud)
'令人惊讶'给出了相同的!无法获得特定的列(当然,除了逐个迭代).
因此,我无法管理将矩阵A与另一个向量合并,即用另一列扩展A. Matlab风格的方法显然很奇怪:
In[]: B = A, [4,6,8]
In[]: B
Out[]: ([[1, 2, 3], [9, 8, 7], [5, 5, 5]], [4, 6, 8])
Run Code Online (Sandbox Code Playgroud)
结果是嵌套的东西,而不是A的扩展.相同的
B = [A, [4,6,8]]
Run Code Online (Sandbox Code Playgroud)
好的,更像Python:
A.append([11,12,13])
Run Code Online (Sandbox Code Playgroud)
这很容易添加一行.但有没有类似的方法来添加一个列?
(令人沮丧的是,Python doc提供了各种奇特的例子,但显然这些都集中在为一维列表演示'pythonic'解决方案.)