0

每个人!

我目前正在处理以下任务:
“编写一个函数,该函数将从 pajek .net 文件中读取数据并将其保存到字典中。”

写入“pajek.net”文件的数据为:

*Vertices 5  
1 "x"  
2 "y"  
3 "z"  
4 "m"  
5 "n"   
*Arcs  
1 2 3  
1 3 5  
2 3 4  
2 5 2  
3 4 1  
4 5 3  

我写的函数是这样的:

def read(pajek):

    list1 = []
    vertices = []
    arcs = []
    edges = []
    
    with open(pajek, 'r') as file:

        lines = file.readlines()
        isStar = ""

        for line in lines:
            if "*" in line:
                isStar = line #in other files I'm working on, there is only a "*" in some lines
            elif isStar.find("*Vertices") != -1:
                vertices.append(line.split())
            elif isStar.find("*Arcs") != -1:
                arcs.append(line.split())
            elif isStar.find("*Edges") != -1:
                edges.append(line.split())

    return vertices, arcs, edges

下一部分(“...将其保存到字典中。”)给我带来了麻烦。
我试过了,但总是有一些错误......

有人可以帮我弄这个吗?
另外,我不能使用导入和模块!

PS
我是 Python 的新手,因此我仍在学习 Python 特定的技巧和窍门

编辑:列表 => list1

4

1 回答 1

1

在您的 main 添加此代码以从 read 函数的输出创建一个字典:

vertices, arcs, edges = read("pajek.net")
result = {"vertices": vertices,"arcs": arcs,"edges": edges}
print(result)

结果会是这样:

{
   "vertices":[
      [
         "1",
         "x"
      ],
   ],
   "arcs":[
      [
         "1",
         "2",
         "3"
      ],
   ],
   "edges":[
      
   ]
}
于 2021-12-08T14:58:23.747 回答