python怎么删除对角线,把3✖️3矩阵变成2✖️2矩阵
时间: 2024-03-18 09:40:05 浏览: 200
可以使用 numpy 库中的 delete 函数来删除对角线,然后重新构造一个新的2x2矩阵。
示例代码如下:
```python
import numpy as np
# 定义一个3x3矩阵
mat = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 删除对角线上的元素
new_mat = np.delete(mat, [0, 4, 8])
# 重新构造一个2x2矩阵
new_mat = new_mat.reshape(2, 2)
print(new_mat)
```
输出结果为:
```
[[2 3]
[5 6]]
```
在上述代码中,我们首先定义了一个3x3的矩阵 mat,然后使用 np.delete 函数删除了对角线上的元素,得到了一个新的一维数组 new_mat。接着,我们使用 reshape 函数将 new_mat 重新构造成一个2x2的矩阵,并打印出来。
相关问题
python怎么删除对角线,把3✖️3矩阵变成3✖️2矩阵
可以使用 numpy 库中的 delete 函数来删除对角线,然后重新构造一个新的3x2矩阵。
示例代码如下:
```python
import numpy as np
# 定义一个3x3矩阵
mat = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 删除对角线上的元素
new_mat = np.delete(mat, [0, 4, 8])
# 重新构造一个3x2矩阵
new_mat = new_mat.reshape(3, 2)
print(new_mat)
```
输出结果为:
```
[[2 3]
[4 6]
[7 8]]
```
在上述代码中,我们首先定义了一个3x3的矩阵 mat,然后使用 np.delete 函数删除了对角线上的元素,得到了一个新的一维数组 new_mat。接着,我们使用 reshape 函数将 new_mat 重新构造成一个3x2的矩阵,并打印出来。
从键盘上输入一个4✖️4矩阵的各个元素的值,然后输出主对角线元素之积,每列元素的最小值存放在数组中并输出。
以下是Python代码实现:
```python
# 输入4x4矩阵
matrix = []
for i in range(4):
row = list(map(int, input().split()))
matrix.append(row)
# 计算主对角线元素之积
product = 1
for i in range(4):
product *= matrix[i][i]
print("主对角线元素之积:", product)
# 计算每列元素的最小值并存放在数组中
min_values = []
for j in range(4):
min_val = matrix[0][j]
for i in range(1, 4):
if matrix[i][j] < min_val:
min_val = matrix[i][j]
min_values.append(min_val)
# 输出每列元素的最小值
print("每列元素的最小值:", min_values)
```
示例输入:
```
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
```
输出:
```
主对角线元素之积: 341136
每列元素的最小值: [1, 2, 3, 4]
```
阅读全文