Форум сайта python.su
Есть файл с одной строкой в которой записаны числа разделенные пробелами. Например:
3 25 4500 1 2 3 8 99
Офлайн
Например, так:
string = "3 25 4500 1 2 3 8 99"
numbers_list = map(int, string.split(' '))
Отредактировано (Апрель 12, 2011 20:26:33)
Офлайн
считать так:
with open(r"test.txt") as f:
nums = [int(v) for v in f.read().split()]
print(nums)
Офлайн
Я использую или numpy.genfromtxt()
Или импортирую все с помощью самопального Import() - Который парсит вход и сразу преобразовывает типы переменных на основе их внешнего вида : 234 ->int 23.45 ->float asd->str ну и так далее. Результат список списков объектов - по сути содержимое файла. Меня вообще удивляет что такая утилита не входит в стандартный питон. Если самопал нужен могу кинуть.
Офлайн
doza_and, человек, судя по задаче, олимпиадник, и, думаю, с numpy ему не по дороге )
Офлайн
Да извините не вник в задачу. Похоже вы правы. В качестве компенсации предлагаю:
import re
a="3 25 4500 1 2 3 8 99"
sk=eval("["+re.sub(" (?P<i>\d+)","-\g<i>,\g<i>",a)+"]")[:-1]
Офлайн
Спасибо за примеры. Задача да, олимпиадная)
Почему в примере:
numbers_list = map(int, string.split(' '))
Отредактировано (Апрель 13, 2011 22:24:01)
Офлайн
string = "3 25 4500 1 2 3 8 99"
mas = string.split()
Отредактировано (Апрель 13, 2011 23:10:01)
Офлайн
python4ikПонял, спасибо.
int пишется потому, что эта функция является аргументом функции map(указатель на функцию…)
Офлайн