Python: как не добавлять элемент, неудовлетворяющий условию при генерации списка?

Есть такой список, нужно получить на выходе список, содержащий только те строки, которые представляют собой числа

elements = ['1', 'sdf2', '3', '32', '2sf']

Как при генерации списка в ветке else не добавлять элемент вообще?

Так нельзя - нет ветки else

result = [element if element.isdigit() for element in elements]

А так приходится добавлять либо '', либо None или еще что-то. Как не добавлять элемент?

result = [element if element.isdigit() else '' for element in elements]

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

Автор решения: inquirer
elements  = ['1', 'sdf2', '3', '32', '2sf']
m = [i for i in elements if i.isdigit()]
print(m)

Если только все числа целые, не дробные. Если с дробными нужно напишите.

→ Ссылка