[Freeschool] [JT] Re: чему стоит учить в школе

Dmitriy M. Maslennikov =?iso-8859-1?q?maslennikovdm_=CE=C1_gmail=2Ecom?=
Чт Окт 23 21:36:24 MSD 2008


23 октября 2008 г. 16:57 пользователь Denis Kirienko <dk на altlinux.ru> написал:
> О, это уже выход. Я же писал - что у Питона есть своя логика и свои методы,
> мне, человеку, испорченному C++, очень тяжело доходить до таких подходов.
Вот более лаконичный вариант.

import sys

def input():
    for line in sys.stdin.xreadlines():
        for i in line.split():
            yield i

for i in input():
    print 'Next value:', i

Читает файл построчно. Для файла с очень длинными строками, видимо,
действительно простыми средствами не обойтись.

Но, я так понимаю, что, все равно, весь ввод в олимпиадных задачах
загоняется в память, поэтому можно не выеживаться и использовать
первый вариант:

sys.stdin.read().split()

Для мегабайта данных занимаемая память все-равно порядка мегабайт будет.

-- 
Dmitriy M. Maslennikov
rlz на etersoft.ru
rlz на altlinux.org
maslennikovdm на gmail.com
master на armory.ru


Подробная информация о списке рассылки Freeschool