Запись в список из файла
Есть текстовый файл, следующего вида:
0 0 0 0
3 3 3 3
Необходимо считать все значения и выдать их в следующем виде:
[[0, 0, 0, 0], [3, 3, 3, 3]]
В текущей версии кода вывод следующий:
[['0', '0', '0', '0'], ['3', '3', '3', '3']]
Как сформировать список с объектами типа int, а не str не прибегая к использованию сторонних библиотек? (с помощью numpy всё работает, однако он начинает ругаться если во входном файле списки разной длинны, а для корректной работы программы списки ДОЛЖНЫ быть разной длинны)
deg_seqs = []
with open("graph.txt") as file:
lines = file.readlines()
for item in lines:
temp = item.split()
deg_seqs.append(temp)
print(deg_seqs)
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Вот так:
with open('graph.txt', 'r') as file:
deg_seqs = [list(map(int, line.split())) for line in file]
Тут используется map, который применяет выбранную функцию к переданному списку:
list(map(int, line.split())) делает из ['1', '1', '1'] -> [1, 1, 1]