Je suis en train de créer un dictionnaire de liste de contiguïté en python en lisant un fichier .txt avec ce format:Comment lire le fichier txt et créer le dictionnaire avec la liste de contiguïté 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
Je veux le dictionnaire résultant être de ce format:
adjacency_list_dict = {[1]: {[2,3,10], [2]: [1,3] ....} etc
AVIS que, malgré l'air d'un dirigé graphique, il n'est pas dirigé et la valeur de liste de chaque clé du dictionnaire doit contenir tous les nœuds adjacents, par exemple exemple [10]: [1,4,7] malgré 10 ne pas être dans la première colonne dans l'une des lignes de fichier txt.
En ce moment je suis coincé avec ce bloc de code:
# 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
S'il vous plaît ignorer toutes les autres variables, le dictionnaire est adjacency_graph ce que je suis préoccupé par. :)
Comment dois-je procéder?
Auriez-vous du code à afficher? – Astrom
Décomposer en plus petites parties. Commencez par ouvrir le fichier et imprimez chaque ligne. Ensuite, allez à partir de là. –
@Astrom heloo, s'il vous plaît jeter un oeil à nouveau, j'ai édité le poste, j'espère que cela aide :) – Marios