Я бы использовал defaultdict - он прост в использовании и содержит всего несколько строк кода. Я предполагаю, что ваш файл выглядит как
a b
c d
Сначала поместите его в список (http://docs.python.org/2/library/fileinput.html), чтобы формат был [(a, b), (c, d)].
Затем используйте defaultdict:
from collections import defaultdict
adjmat = defaultdict(int)
for edge in list:
adjmat[edge] = 1
adjmat[a, b]
вернет 1, если ребро существует, 0 в противном случае. Если у вас может быть несколько ребер между узлами, вам нужно только изменить это значение на adjmat[edge] += 1
, и adjmat[a, b]
вернет количество соединенных ребер a
и b