【问题标题】:Loop through every character in a sentence in python [closed]循环遍历python中句子中的每个字符[关闭]
【发布时间】:2013-10-29 14:43:06
【问题描述】:

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

for letter in sentence

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

【问题讨论】:

  • 你的意思是通过每个单词吗?你不能迭代"a"(你可以,但这有点无意义)。
  • item frequency count in python 的可能重复项
  • @JamesDonnelly -- 你说得对,for letter in sentence: 是循环遍历每个字符的正确方法(尽管使用下面提到的 Counter 类是你想要做的直接解决方案)
  • 要求代码的问题必须表明对所解决问题的最低理解。包括尝试过的解决方案、它们为什么不起作用以及预期的结果。

标签: python string for-loop


【解决方案1】:

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

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

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

>>> counts = collections.Counter(sentence)
>>> counts['d']
4

【讨论】:

  • 整洁的解决方案;请给他添加一个剧透标签,他想自己尝试(:
【解决方案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
!
>>>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多