有擅长嵌套循环的人吗?

时间:2015-05-31 14:00:53

标签: python list loops for-loop nested

首先在这里发帖! 我得到的图表看起来像这样:

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循环吗?

我真的不知道这是怎么回事。这个解释的链接会受到很多赞赏,因为我似乎没有抓住这个。

1 个答案:

答案 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()