首先在这里发帖! 我得到的图表看起来像这样:
Graphs = {'g1': [ [ ['a1',0],['a2',0] ] , [ ['e1',0] ] ,{'a1':['e1'],'a2':['e1']} ] < / strong>}
图表所代表的是基本上具有节点和边的图的抽象数据结构。它可以代表一个或几个图表。
我正试图“到达”“a1”所以我可以将它写入一个文件,如下例所示:
a1,0; a2,0; a3,0
e1,0; e2,0
A1,E1,E2; A2,E1; a3,2
整数是另一回事,但它基本上有两个状态1或0,具体取决于你是否越过了一个节点或边缘。
为了将其写入文件,我需要一个嵌套循环,它到达图中的每个节点(顶点)和边缘。
我还没有找到任何有关列表中项目的嵌套循环的好教程。每个人都只谈论for i in range(3):
等。
到目前为止,这是我的代码:
def Find_vertex(graphs):
for key in graphs:
print(str(graphs[key][0][0][0]))
打印出a1但是......是的,如果我想要每个人,我应该使用嵌套的for循环吗?
我真的不知道这是怎么回事。这个解释的链接会受到很多赞赏,因为我似乎没有抓住这个。
答案 0 :(得分:0)
我的解决方案,花了一些时间。
def save_graph(图表): string =“”
tname = input("Skriv in namnet på filens namn: ")
thand = open(tname, 'w')
for key in graphs:
for objekt in graphs[key][0]:
string += str(objekt[0]) + ","
string += str(objekt[1]) + ","
string += ";"
string += "\n"
#print(string)
for key in graphs:
for objekt in graphs[key][1]:
string += str(objekt[0]) + ","
string += str(objekt[1]) + ","
string += ";"
string += "\n"
for graf in graphs:
for key, value in graphs[graf][2].items():
string += (key) + "," + (value[0]) + ";"
string = string.replace(",;", "")
string = string[:-1]
print(string)
thand.write(str(string))
thand.close()