Функция

Доброго времени суток, снова нужна помощь специалистов Напиши функцию, которая принимает положительное целое n и возвращает число пар цифр в сумме образующих 10. Не используй присвоения.Число 7 823 952 содержит три таких пары: первая и четвертая цифры 7+3=10, вторая и третья цифры 8+2=10, вторая и последняя цифры 8+2=10.
def ten_pairs(n):
    """Возвращает число пар цифр в сумме образующих 10 в положительном целом n.
 
    >>> ten_pairs(7823952)
    3
    >>> ten_pairs(55055)
    6
    >>> ten_pairs(9641469)
    6
    """
    "*** ТВОЙ КОД ЗДЕСЬ ***"
4 ответа

from itertools import combinations
 
def ten_pairs(number):
    return len(filter(lambda x: int(x[0]) + int(x[1]) == 10, list(x for x in combinations(str(number), 2))))
 
print ten_pairs(7823952)
print ten_pairs(55055)
print ten_pairs(9641469)
 
>>> 
3
6
6
>>>


как компактно)


Спасибо конечно. Но в интерпретаторе не проходит,как ещё можно?
object of type 'filter' has no len()


from itertools import combinations
 
def ten_pairs(number):
    return len(list(filter(lambda x: int(x[0]) + int(x[1]) == 10, list(x for x in combinations(str(number), 2)))))