continue/pass для list comprehension

Что можно записать вместо None что бы if ничего не добавляло?Я хочу получить число но именно в таком виде, я знаю что можно было бы написать if not x.isalpha, но мне интересно если тут какая то замена continue/pass?

r = "6015ekx"
number = [ None if x.isalpha() else x for x  in r ]

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

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

Вообще чисто для фильтрации данных придумана отдельная функция filter, хотя её результат ещё нужно потом превратить в список. Например, если достаточно было бы условия isdigit, то можно было бы записать коротко:

r = "6015ekx"
number = list(filter(str.isdigit, r))

Но если нужно фильтровать именно по not isalpha, то будет чуть длиннее, через lambda:

r = "6015ekx"
number = list(filter(lambda x: not x.isalpha(), r))

Но так уже получается не короче, чем если использовать списковое сокращение с условием, то есть то, что вы не хотите использовать.

→ Ссылка