как из списка "достать" только числа
my_list = [1,'два',3,4,5,6,7,8,9,'ноль']
for num in my_list:
if num == int:
print(num)
else:
print('нет там никаких цифр')
возвращает:
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
нет там никаких цифр
Ответы (2 шт):
Автор решения: Евгений
→ Ссылка
Для ваших задач отлично подойдёт стандартная функция filter:
>>> my_list = [1,'два',3,4,5,6,7,8,9,'ноль']
>>> list(filter(lambda x: type(x) is int, my_list))
[1, 3, 4, 5, 6, 7, 8, 9]
>>> result = list(filter(lambda x: type(x) is int, my_list))
>>> print(result if result else "нет там никаких цифр")
[1, 3, 4, 5, 6, 7, 8, 9]
Чтобы вывести числа так, как задумываете вы, можно использовать такой код:
my_list = [1,'два',3,4,5,6,7,8,9,'ноль']
result = filter(lambda x: type(x) is int, my_list)
if result:
print(*result, sep="\n")
else:
print("нет там никаких цифр")
Результат:
1
3
4
5
6
7
8
9