>Это по-длиннее, этот вариант уже лучше.
но показывает, что про ленивые вычисления вы не в курсе :)
>но с лихвой компенсируется временем, которое я сэкономлю за счет
>человеческой интерполяции, которой, увы, в питоне нет, и которая в отличие
>от генераций последовательностей мне нужна постоянно. и модули не надо подключать
>на каждый чих.
неявные преобразования типов - большое зло. а модульность - это как раз очень хорошо.
в перле регекспы прибиты гвоздями к libprcre.
Смотрим сюда: http://softwareramblings.com/2008/08/c-regular-expression-pe...
Мне достаточно написать обертку над boost:regex или boost::expressive,
сказать import mynice_regexlib as re
и понеслось. больше нигде править не нужно.
>Мне кажется слишком рискованным такой метод исследования неизвестного класса, я бы предпочел
>использовать:
>cat module.pm | egrep "^[ ]*sub[ ]*"
>чтобы выяснить его методы.
omg...
>>>да-да-да! а если у нас вперемешку строки/числа/списки/хеши...
>значит нужно просто написать другую функцию сравнения для sort ...
>но я бы посоветовал вам избегать неопределенности в принимаемых и возвращаемых параметрах
>функций - в длине кода выигрышь небольшой, зато сопровождающие будут долго
>вникать.
гм... совершенно неверно. формат/тип возвращаемых данных диктуется данными.
>>> выхлоп:
>
>вот именно, что выхлоп. Вы странно подбираете задачи, если хотите меня переспорить.
>Питон скриптовой язык, и значит будет заведомо проигрывать компилируемым или той
>же яве в скорости вычислений.
расскажите это про numpy.
И вообще:
http://koldunov.net/?p=268
http://koldunov.net/?p=317
http://koldunov.net/?p=168
http://koldunov.net/?p=179
http://koldunov.net/?p=230
Так что всякие yield здесь как
>собаке боковой карман.
как раз нет. функции, сохраняющие свое состояние между вызовами значительно упрощают жизнь.
>Напишите мне лучше как вы реализуете поиск уникальных записей в файле, содержащем
>2-3 миллиона строк.
легко. давайте определимся, что такое "уникальная запись"?
что за файл? в общем случае, пишется генератор, принимающий на вход имя файла и при каждом вызове возвращающий следующую запись.
Далее for i in generator:somehash[i]=0
на выходе будет набор уникальных данных.