python删除邻接矩阵的固定行及列
时间: 2023-11-16 22:06:52 浏览: 94
可以使用numpy库来实现删除邻接矩阵的固定行及列。
假设邻接矩阵为adj_matrix,要删除的行为row_index,要删除的列为col_index,可以按照以下步骤进行操作:
```python
import numpy as np
# 创建邻接矩阵
adj_matrix = np.array([[0, 1, 0], [1, 0, 1], [0, 1, 0]])
# 要删除的行和列的索引
row_index = 1
col_index = 2
# 删除行和列
adj_matrix = np.delete(adj_matrix, row_index, axis=0)
adj_matrix = np.delete(adj_matrix, col_index, axis=1)
print(adj_matrix)
```
输出结果为:
```
[[0 0]
[0 0]]
```
其中,np.delete函数可以删除数组中的行或列,axis参数指定要删除的维度,0表示删除行,1表示删除列。
相关问题
python 输入邻接矩阵
请问您需要一个 Python 程序来输入邻接矩阵吗?如果是,下面是一个简单的示例程序,它从标准输入中读取邻接矩阵并将其存储到一个二维列表中:
```
n = int(input("请输入节点数:"))
# 初始化邻接矩阵
adj_matrix = [[0] * n for _ in range(n)]
# 读取邻接矩阵
for i in range(n):
row = input(f"请输入第 {i+1} 行邻接矩阵,以空格分隔:").strip().split()
for j in range(n):
adj_matrix[i][j] = int(row[j])
# 输出邻接矩阵
print("邻接矩阵:")
for row in adj_matrix:
print(row)
```
这个程序首先要求用户输入节点数,然后初始化一个大小为 $n\times n$ 的邻接矩阵,接着按行读取邻接矩阵,每行数字之间用空格分隔。最后,程序输出邻接矩阵。您可以将其保存到一个 Python 文件中,例如 `input_adj_matrix.py`,然后在命令行中运行:
```
python input_adj_matrix.py
```
希望对您有帮助!
python建邻接矩阵
在 Python 中,可以使用 numpy 库来创建邻接矩阵。以下是创建一个简单的无向图邻接矩阵的示例代码:
```python
import numpy as np
# 定义无向图的边
edges = [(0, 1), (0, 2), (1, 2), (2, 3)]
# 获取节点数
n = max(max(edges)) + 1
# 创建邻接矩阵
adj_matrix = np.zeros((n, n))
for edge in edges:
adj_matrix[edge[0], edge[1]] = 1
adj_matrix[edge[1], edge[0]] = 1
print(adj_matrix)
```
上述代码中,我们首先定义了无向图的边。然后,我们获取了节点数,也就是边中最大的节点编号加 1。接着,我们创建了一个 n 行 n 列的零矩阵,表示没有任何边相连。最后,我们遍历每条边,将矩阵中对应的元素设为 1,表示有一条边相连。由于是无向图,因此我们还需要将对称位置的元素设为 1,表示双向连接。
输出结果如下:
```
[[0. 1. 1. 0.]
[1. 0. 1. 0.]
[1. 1. 0. 1.]
[0. 0. 1. 0.]]
```
其中,第 i 行第 j 列的元素表示第 i 个节点和第 j 个节点是否相连。如果相连,值为 1,否则为 0。
阅读全文