Найти - Пользователи
Полная версия: [РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может
Начало » Центр помощи » [РЕШЕНО] Мой внутренний парсер сбоит. Почините, кто может
1
Dalidul
Есть кусок кода:

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

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

> но это “if ‘:’ in line” я все равно не понимаю зачем.
Отфильтровывает строки в которых нет двоеточия.
noob_saibot
Rodegast
Отфильтровывает строки в которых нет двоеточия.
Каюсь затупил, замерил время выполнения с проверкой и без неё, но результаты перепутал…
Dalidul
Rodegast
> А что это вообще за однострочная форма записи такая?Это списочное выражение.
Благодарю. Это всё, что я хотел узнать.
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