我試圖通過讀取.txt文件以這種格式在Python中創建一個鄰接表的字典:如何閱讀txt文件,並創建鄰接表Python字典
1 2
1 3
1 10
2 3
4 5
4 6
4 10
5 6
7 8
7 9
7 10
8 9
我想要得到的解釋是
adjacency_list_dict = {[1]:{[2,3,10],[2]:這個格式的[1,3],...}等
注意的是,儘管看上去像一個定向圖中,它實際上是無向的,並且字典中每個鍵的列表值必須包含所有相鄰節點例如[10]:[1,4,7]儘管10不在任何txt文件行的第一列。
現在我堅持這個代碼塊:
# Main file for assignment 2
input_filename = "example_graph_1.txt"
def create_teams():
return []
def create_lex():
return {}
def make_to_list(node):
return [node]
teams = create_teams()
adjacency_graph = create_lex()
with open(input_filename) as graph_input:
for line in graph_input:
nodes = [int(x) for x in line.split()]
for i in nodes:
if make_to_list(i) not in teams:
teams.append(make_to_list(i))
if i not in adjacency_graph:
adjacency_graph[i] = create_teams()
print adjacency_graph
print teams
請忽略所有其他變量,字典adjacency_graph是我很關心。 :)
我應該如何進行?
你有一些代碼可以顯示嗎? – Astrom
將其分解成更小的部分。首先打開文件並打印每一行。然後從那裏出發。 –
@Astrom heloo,請再看看,我編輯的帖子,我希望它可以幫助:) – Marios