python二维数组转置
时间: 2023-10-12 10:13:48 浏览: 129
假设有一个二维数组mat,可以使用以下代码将其转置:
```
mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
transposed = [[mat[j][i] for j in range(len(mat))] for i in range(len(mat[0]))]
print(transposed)
```
输出:
```
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
```
在这个代码中,我们首先定义了一个新的变量transposed,它的行数和列数与原数组mat相反。
然后,我们使用两个for循环来遍历原数组mat中的元素。外层循环遍历列,内层循环遍历行。在内层循环中,我们使用了mat[j][i]来访问原数组中第i行第j列的元素,并将其添加到新的数组transposed中的第j行第i列。
最后,我们打印出新的数组transposed,即为原数组mat的转置。
相关问题
python 二维数组转置
在Python中,可以使用列表嵌套来表示二维数组,转置二维数组可以通过以下代码实现:
```python
# 定义一个二维数组
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 原矩阵的行数
rows = len(arr)
# 原矩阵的列数
cols = len(arr[0])
# 定义一个新的二维数组,用于存储转置后的矩阵
new_arr = [[0 for i in range(rows)] for j in range(cols)]
# 通过两层循环遍历原矩阵,将元素赋值给新矩阵的对应位置
for i in range(rows):
for j in range(cols):
new_arr[j][i] = arr[i][j]
# 输出转置后的矩阵
for i in range(cols):
for j in range(rows):
print(new_arr[i][j], end=" ")
print()
```
输出结果为:
```
1 4 7
2 5 8
3 6 9
```
上述代码中,我们首先定义了一个二维数组 `arr`,接着使用 `len()` 函数获取该矩阵的行数和列数。然后,我们定义一个新的二维数组 `new_arr`,并使用两层循环遍历原矩阵,将元素赋值给新矩阵的对应位置。最后,我们使用两层循环输出转置后的矩阵。
python一维数组转置
要将Python中的一维数组转置,可以使用numpy库中的transpose()函数。比如:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
a = a.reshape((5, 1)) # 将一维数组变成二维数组
a_transpose = np.transpose(a) # 转置操作
print(a_transpose)
输出结果为:
[[1 2 3 4 5]]
阅读全文