Python需要转置,怎么把列表转数组?

How to convert a list to an array as there is a need to take transpose in Python?

我有一个 u0 列表,其中附加了值,然后我必须对 u0 进行转置,但是当我这样做时,我仍然得到一个行矩阵,但我想显示它作为列矩阵。从其他答案中,我了解到计算没有区别,但我希望它显示为列矩阵,这可以进一步用于计算。 x_mirror 也是一个列表。

u0 = []
for p in range(0,tpts):                              #initial condition at t = 0
    ts =  ((np.exp(alpha*((x_mirror[p]-x_start)**2))*(np.cos(k0*(x_mirror[p]-x_start)))))
    u0.append(ts)

非常感谢任何帮助。

不确定我是否答对了问题,但请尝试将其转换为具有正确行数且只有一列的二维数组。

rowMatrix = [1, 2, 3, 4, 5]
columnMatrix = [[1], [2], [3], [4], [5]]

如果您只想让它垂直显示,您可以将 class 创建为 list 的子class。

class ColumnList(list):
    def __repr__(self):
        parts = '\n '.join(map(str, self))
        r = f'[{parts}]'
        return r

u0 = ColumnList()
for p in range(0,tpts):                              #initial condition at t = 0
    ts =  ((np.exp(alpha*((x_mirror[p]-x_start)**2))*(np.cos(k0*(x_mirror[p]-x_start)))))
    u0.append(ts)

# displays vertically:
u0

基于现有的 Whosebug post (here) 您可以执行以下操作

import numpy as np
list1 = [2,4,6,8,10]

array1 = np.array(list1)[np.newaxis]
print(array1)
print(array1.transpose())

对于上面的代码,您可以在此处查看输出:

你可以使用reshape-

u0 = [1, 2, 3]
np_u0_row = np.array(u0)
np_u0_col = np_u0_row.reshape((1, len(u0)))
print(np_u0_col.shape)
# (1, 3)