2016-05-08 6 views
-2

Используя регулярное выражение, я хочу подсчитать конкретную букву. Я создал объект совпадения, как показано ниже. но не знаю, как подсчитать его частоту. Большинство примеров подсчета были для слов, поэтому я не мог найти хорошую ссылку для него.Как я могу сопоставить определенную букву и подсчитать ее частоту?

f = open("C:\Python27\test.txt") 
raw_sentence = f.read 
upper_sentence = raw_sentence.upper() 
match = re.findall(r"A", upper_sentence) 

Должен ли я делать некоторые данные списка так же, как и другие коды подсчета слов?

+0

Названное о письме и описание о слове, что один его ? Было бы полезно использовать пример ввода и ожидаемый результат. – niemmi

+0

извините, что было письмо. И результат, который я хочу, похож на «A: 3», «B: 6», как это –

+0

Возможный дубликат со вчерашнего дня: [Как я могу получить число гистограмм с парами с помощью кода python?] (Http://stackoverflow.com/вопросы/37084670/как-кан-я-получить гистограмму-номер-с-пара-по-помощи-питон-код /) – John1024

ответ

1

Просто используйте str.count:

raw_sentence.upper().count('A') 

Если вы хотите отсчеты нескольких элементов, его лучше использовать collections.Counter:

>>> s = 'abcabcsdab' 
>>> import collections 
>>> collections.Counter(s) 
Counter({'a': 3, 'b': 3, 'c': 2, 'd': 1, 's': 1})