Сколько чисел?

Напишите функцию, которая будет принимать вложенный список и возвращать общее количество чисел в нем.

Вложенный список может содержать числа, строки и пустые списки.

Примеры

count_number([["", 17.2, 5, "edabit"]]) ➞ 2
# 17.2 и 5.

count_number([[[[[2, 14]]], 2, 3, 4]]) ➞ 5
# 2, 14, 2, 3 и 4.

count_number([["number"]]) ➞ 0

Варианты решения

import re

def count_number(lst):
    return len(re.findall('\d+\.\d+|\d+', str(lst)))
def count_number(lst):
    return sum(count_number(i) if type(i) is list else type(i) in (int, float) for i in lst)
Прокрутить вверх