Создание списка с условием

Создаю список из строк. В списке надо исключить строки, содержащие 1 или 3. Как исключить строку, содержащую 1 понятно:

non_empty_lines = list(stroka for stroka in spisok_1 if stroka.strip() != '1')

А вот как сделать условие, что бы исключались строки, содержащие 1 или 3?


Ответы (1 шт):

Автор решения: CrazyElf

Например, можно проверять, что пересечение множеств пусто:

if not set(stroka) & set('13')

Ну или "в лоб" объединение условий:

if '1' not in stroka and '3' not in stroka`

А вообще у вас в вопросе проверка не на вхождение символа 1 в строку, а на её равенство 1.

И вызов list у вас избыточен. Вы сначала делаете генератор, и потом уже скармливаете его списку. Проще сразу делать готовый список с помощью списочного включения:

list(...) -> [...]
→ Ссылка