Найти - Пользователи
Полная версия: Как считать из файла строку чисел
Начало » Python для новичков » Как считать из файла строку чисел
1
idmon
Есть файл с одной строкой в которой записаны числа разделенные пробелами. Например:

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

Почему в примере:

numbers_list = map(int, string.split(' '))
правильно писать int, а не int()?
python4ik
string = "3 25 4500 1 2 3 8 99"
mas = string.split()
int пишется потому, что эта функция является аргументом функции map(указатель на функцию…)
map сама расставляет кавычки :)
примерно так:
for x in string.split():
mas.append(int(x))
idmon
python4ik
int пишется потому, что эта функция является аргументом функции map(указатель на функцию…)
Понял, спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB