Форум сайта python.su
ShamanТы втащил в регулярку работу с мусором, который может быть очищен ещё до поиска. Если он будет очищен, то ты будешь либо менять регулярку, либо изображать, что она хорошая, потому что поля находит.
Не могу понять к чему этот спор?
IskatelЕсли бы это не был какой-то сферический текст, то это, конечно, можно было бы через конечный автомат разобрать.
Конечные автоматы гораздо быстрее и надежнее
IskatelОга, только каждый раз надо по диаграмме всё проверять, чтобы какую-нибудь логическую ошибку не допустить, которую сразу и не видно.
Но я всеже за автоматы - проще навтыкать проверок для валидации данных и т.п.
IskatelУ тебя, случаем, не второй питон? Только во втором питоне zip() возвращает список, почему его благополучно и удалили вообще из питона, взяв izip() из itertools.
что больше всего времени жрет zip (в два раза больше чем регексп)
metotronНе мешай в кучу, сделай отдельный топик.
Но передо мной встала еще одна задача
Отредактировано py.user.next (Авг. 24, 2015 10:24:29)
Офлайн
py.user.next
А так у тебя получилось, что на каждой строке в состоянии -1 он проверяет, не находится ли он в состоянии 0, потом 1, потом 2 - лишние проверки.
py.user.nextда, второй
У тебя, случаем, не второй питон?
Офлайн
IskatelАхаха, не в этом дело. Представим, что между нужными блоками миллион ненужных строк. Вот на каждой строке будет попытка входа в каждую из ветвей. А всё почему? Потому что ты не нарисовал узел для -1 и не посмотрел, как это всё выглядит.
Вобщем да, классически это делается на switch, но его в питоне нет…
Отредактировано py.user.next (Авг. 24, 2015 10:28:27)
Офлайн
py.user.nextТакое ощущение что тут форум фантазеров… Shaman “разные случаи” предусмотреть хочет, Вы вот представляете сферического коня между строками.
Ахаха, не в этом дело. Представим, что между нужными блоками миллион ненужных строк. Вот на каждой строке будет попытка входа в каждую из ветвей. А всё почему? Потому что ты не нарисовал узел для -1 и не посмотрел, как это всё выглядит.
Отредактировано Iskatel (Авг. 24, 2015 10:44:19)
Офлайн
py.user.nextОчищен один раз код генерации, или очищается каждый раз блок данных? А то и распарсить можно “другой хорошей” утилитой, так может нам всем тут и писать ничего не нужно?
Ты втащил в регулярку работу с мусором, который может быть очищен ещё до поиска. Если он будет очищен, то ты будешь либо менять регулярку, либо изображать, что она хорошая, потому что поля находит.
Офлайн
IskatelАаа, вы тоже это заметили!?
И про оптимальность - это фантазия такая, что код будет крутиться на сервере гугла, перемалывая терабайты логов? Вернемся к реальности - а именно к примеру данных. Блоки идут раз в 4 секунды, т.е. в сутки их 21600. такое кол-во обрабатывается за 0.15-0.17 секунды что моим примером что регекспами. Отсюда вопрос: нафига козе баян?
Офлайн
IskatelНе, Shaman пытается нащупать, как будет правильно ;) Он просто не знает и поэтому проверяет.
Такое ощущение что тут форум фантазеров… Shaman “разные случаи” предусмотреть хочет, Вы вот представляете сферического коня между строками.
Прикреплённый файлы: fields.png (29,3 KБ)
Офлайн
py.user.nextЭто мусорные строки и они могут быть очищены заранее.
Ахаха, не в этом дело. Представим, что между нужными блоками миллион ненужных строк.
Офлайн
py.user.next
А вот на счёт строк, то нигде автор не говорил, что между ними не может быть чего-то длинного.
Офлайн
IskatelОткуда следует, что между блоками ничего нет?
Так же, как не говорил что может быть чтото длинное
metotronВот его условие.
количество линий под датой всегда одинаково
ShamanДата тоже может быть удалена заранее. ;)
Это мусорные строки и они могут быть очищены заранее.
Офлайн