Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 7, 2015 13:42:42

Dalidul
Зарегистрирован: 2015-10-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

[РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может

Есть кусок кода:

res = [line.split(':') for line in out if ':' in line]
переменная out определена где-то выше, она список строк или кортеж.

Мне не ясно, в каком порядке здесь будут выполняться действия по инициализации списка (это ведь она, верно?).
Если не сложно, скиньте, как называется такой странный способ использования for и if, дабы я знал, что гуглить.

Отредактировано Dalidul (Окт. 7, 2015 16:40:16)

Офлайн

#2 Окт. 7, 2015 13:55:48

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

[РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может

Dalidul
out определена где-то выше, она строка
Если это так, то я не вижу смысла во всей этой конструкции, просто:
res = out.split(":")
А вот если это список то перебираем элементы и делаем спилт для каждого,
но это “if ‘:’ in line” я все равно не понимаю зачем.

Офлайн

#3 Окт. 7, 2015 13:58:38

Dalidul
Зарегистрирован: 2015-10-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

[РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может

noob_saibot
Да, на счёт строки я ошибся, уже поправил.
А что это вообще за однострочная форма записи такая?

Офлайн

#4 Окт. 7, 2015 15:02:09

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2698
Репутация: +  182  -
Профиль   Отправить e-mail  

[РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может

> А что это вообще за однострочная форма записи такая?
Это списочное выражение.

> но это “if ‘:’ in line” я все равно не понимаю зачем.
Отфильтровывает строки в которых нет двоеточия.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Окт. 7, 2015 15:12:16

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

[РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может

Rodegast
Отфильтровывает строки в которых нет двоеточия.
Каюсь затупил, замерил время выполнения с проверкой и без неё, но результаты перепутал…

Офлайн

#6 Окт. 7, 2015 16:39:37

Dalidul
Зарегистрирован: 2015-10-07
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

[РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может

Rodegast
> А что это вообще за однострочная форма записи такая?Это списочное выражение.
Благодарю. Это всё, что я хотел узнать.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version