Мне нужно создать список из строки в python, используя синтаксис [f(char) for char in string], и я хотел бы иметь возможность игнорировать (не вставлять в список) значения f (x), которые равны None.
Как я могу это сделать?
Ответ 1
Мы могли бы создать "подзапрос".
[r for r in (f(char) for char in string) if r is not None]
Если вы также игнорируете все значения False (0, False, None и т.д.), можно использовать filter:
filter(None, (f(char) for char in string) )
# or, using itertools.imap,
filter(None, imap(f, string))