2015-12-14 2 views
-4

нормально, поэтому я хочу, чтобы фильтровать каждую строку отдельно от a и распечатать количество a букв в предложении:Как Фильтр буквы в строке в Python

import string 
sentence = "The cat sat on the mat." 
for letter in sentence: 
     print(letter) 
+0

Не могли бы вы представить пример ввода и ожидаемый выход. Ни один из вопросов SO не решил вашу проблему. – The6thSense

+0

что вы сделали до сих пор? что вы пробовали? Пользователь SO не будет писать код для вас! –

ответ

1

Чтобы распечатать числа 'a', просто:

sentence.count('a') 

Чтобы отфильтровать все, но 'a', использовать понимание:

filtered = ''.join(i for i in sentence if i != 'a') 
print(filtered) 
+0

спасибо, что это сработало –

0

Чтобы напечатать количество символов 'a' в строке, вы можете использовать простую функцию подсчета из строки, как указано в @Burhan.

sentence.count('a') 

Определение функции для подсчета числа 'a' в строке. Несмотря на это, вам следует избегать этого, но хорошо знать, как подсчитать конкретный символ или слово в строке.

def count_specific_character(sentence): 
    count = 0 
    for character in sentence: 
     if character == 'a': 
      count += 1 
    return count 
+0

«всегда полезно иметь определенную пользователем функцию» - на самом деле, лучше использовать встроенные функции или встроенные методы типа, когда они доступны. Они, как правило, быстрее и надежнее. – TigerhawkT3

+0

Спасибо за освещение на этом @ TigerhawkT3! Я отредактировал его! – pythondetective

0

Альтернативный способ отфильтровать все, кроме письма 'a' является использование встроенной filter функции

filtered = ''.join(filter(lambda char: char != 'a', word)) 
print(filtered) 

И как уже предлагаемое применение str.count метод для подсчета количества символов в строке

word.count('a') 
1

Сначала просто удалите все a s перед печатью, используя функцию filter. Затем используйте count() для подсчета событий

filter(lambda x: x != 'a', sentence) 
#Out: 'The ct st on the mt.' 
sentence.count('a') 
#Out: 3 
Смежные вопросы