如何从python的2D列表中选择第0位具有相同值的某些项目

时间:2018-09-02 22:28:23

标签: python-3.x multidimensional-array

我想单独存储图中所有节点的邻接表,该怎么做? 就像有7个顶点一样,我想要7个列表,其中包含从ecah和每个节点发出的弧。

1 个答案:

答案 0 :(得分:0)

是否必须是列表?为什么不使用numpy创建邻接矩阵

如果要使用列表,首先应该知道python中的二维列表中没有没有这种东西。您可以得到的最接近的结果是,将7个列表放在另一个这样的列表中:

list1 = [1, 0, 0, 0, 1, 0, 0]  # represents the edges connecting node 1 to the rest
list2 = [0, 1, 0, 1, 0, 0, 1]  # same thing for node 2
list3 = [0, 0, 1, 0, 1, 1, 0]  # node 3
# and so on until we have 1 list for each node

adjacency_list = [list1, list2, list3, list4, list5, list6, list7]  # each element is a list

# To see if there is an edge between node 2 and node 3:
print(adjacency_list[2][3])  # 3rd element of the 2nd list 
# in this case it will return 0

如果图形没有方向,则可以互换使用内部列表和外部列表的索引。