我正在学习Python,并为了练习而编写一个脚本,该脚本读取包含Trivial Graph Format的图形的文件,并在图上运行一些图算法。
我考虑将图形存储在n个字典的列表中,其中n是顶点的数量,并且每个顶点的所有边都将存储在一个字典中。
我尝试过这样做:
edges = [{} for i in xrange(num_vertexes)]
for line in file:
args = line.split(' ')
vertex1 = int(args[0])
vertex2 = int(args[1])
label = int(args[2])
edges[vertex1][vertex2] = label
但是我在最后一行遇到了这个错误:
索引错误:列表索引超出范围
tst = [{}]*5; tst[0][1]=1;tst
会输出[{1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}]
。你可以使用[{} for x in xrange(num_vertexs)]
代替。 - David H. Clements