Я читаю большой файл с сотнями тысяч пар чисел, представляющих края графа. Я хочу построить 2 списка, поскольку я иду: один с передними краями и один с обратным.
В настоящее время я выполняю явный цикл for
, потому что мне нужно выполнить предварительную обработку строк, которые я читал. Тем не менее, мне интересно, есть ли еще более питонический подход к построению этих списков, например, понимание списков и т.д.
Но, поскольку у меня есть 2 списка, я не вижу способа заполнить их с помощью понятий, не читая файл дважды.
Мой код прямо сейчас:
with open('SCC.txt') as data:
for line in data:
line = line.rstrip()
if line:
edge_list.append((int(line.rstrip().split()[0]), int(line.rstrip().split()[1])))
reversed_edge_list.append((int(line.rstrip().split()[1]), int(line.rstrip().split()[0])))