Привет У меня есть файл с этим форматом:Файл со смешанными ключами значений в словарь
1 5
2 6
3 6
4 5
5 6
5 7
5 8
...
и то, что я хочу, чтобы сделать словарь, как это:
1:5
2:6
3:6
4:5
5: 1, 4, 6, 7, 8
6: 2, 3, 5,
....
Файл является соединения между узлами неориентированного графа, и я хотел бы преобразовать его в словарь с узлом в качестве ключа и соседей этого узла в качестве значений (список смежности).
Моя проблема в том, что я не знаю, как получить данные из файла, чтобы они соответствовали узлу со всеми его соседями.
Я попробовал это,
nodeList = list()
with open(file) as inputfile:
for line in inputfile.readlines():
nodeList.append(tuple(line.strip().split()))
d = defaultdict(list)
for k, v in nodeList:
d[k].append(v)
и результат является словарем: [...('5', ['6', '7', '8']),..., ('1', ['5']),.., ('4', ['5']).....]
, но это не совсем правильно, потому что, например, я хочу 4
и 1
выступать в качестве значения в ключевых 5
.