count
, безусловно, является наиболее кратким и эффективным способом подсчета появления символа в строке, но я попытался найти решение, используя lambda
, как то так:
sentence = 'Mary had a little lamb'
sum(map(lambda x : 1 if 'a' in x else 0, sentence))
Это приведет к:
4
Кроме того, есть еще одно преимущество: если предложение представляет собой список подстрок, содержащих те же символы, что и выше, то это также дает правильный результат из-за использования in
. Посмотрите:
sentence = ['M', 'ar', 'y', 'had', 'a', 'little', 'l', 'am', 'b']
sum(map(lambda x : 1 if 'a' in x else 0, sentence))
Это также приводит к:
4
Но, конечно, это будет работать только при проверке вхождения одного символа, такого как 'a'
в данном конкретном случае.