-3

所以我需要逐个字符地遍历一个句子,并将不同的字母和它们出现的次数加起来。我想不出一种方法来做第一件事(我会自己做总和我有一个足够好的想法,我想看看我是否可以单独做)。我在 Python 方面不是一流的,但我认为它会是一个

for letter in sentence

但我不确定如何遍历每个字母。

4

2 回答 2

5

您可以使用(Python 2.7+)中的Counter类:collections

>>> import collections
>>> sentence = "asdadasdsd"
>>> collections.Counter(sentence)
Counter({'d': 4, 'a': 3, 's': 3})

您可以按如下方式获得计数:

>>> counts = collections.Counter(sentence)
>>> counts['d']
4
于 2013-10-29T14:46:00.007 回答
2

好吧,另一种解决方案告诉您一种干净的方法来分两行完成这项工作。然而,我将回答你关于如何循环句子的真正问题。

事实是,你是对的。这正是你循环句子的方式。请看下面的演示:

>>> sentence = "This is a sentence!"
>>> for letter in sentence:
...     print letter
...
T
h
i
s

i
s

a

s
e
n
t
e
n
c
e
!
>>>
于 2013-10-29T14:53:06.460 回答