为什么在Python中使用字典表示图形?

EXO*_*EXO 5 python math dictionary graph set

Python没有对图形的直接支持,但很多消息来源都说它们可以用字典表示,例如.

graph = { "a" : ["c"],
          "b" : ["c", "e"],
          "c" : ["a", "b", "d", "e"],
          "d" : ["c"],
          "e" : ["c", "b"],
          "f" : []
        }
Run Code Online (Sandbox Code Playgroud)

因为这是一个无向图,字典是定向映射,所以看起来真的很不合适.说graph = {'x':['y'], 'y':['x']}而不是真的graph = {{'x', 'y'}}好吗?

Ano*_*ous 2

将它们存储为连接使得步行变得非常容易:

vertex = 'x'
connected_to = graph[vertex]
second_degree_connections = {p for subset in graph[p] for p in connected_to}
Run Code Online (Sandbox Code Playgroud)

尝试使用一组二元组有效地做到这一点。不太容易,对吧?