Python 计算句子中元音的数量并显示最频繁的元音

Python 计算句子中元音的数量并显示最频繁的元音,python,counter,counting,Python,Counter,Counting,这是我到目前为止计算元音的代码。我需要扫描一个句子,计算和比较元音,然后显示最上面出现的元音 from collections import Counter vowelCounter = Counter() sentence=input("sentence") for word in sentence: vowelCounter[word] += 1 vowel, vowelCount= Counter(vowel for vowel in sentence.lower() if vow

这是我到目前为止计算元音的代码。我需要扫描一个句子,计算和比较元音,然后显示最上面出现的元音

from collections import Counter
vowelCounter = Counter()
sentence=input("sentence")
for word in sentence:
    vowelCounter[word] += 1
vowel, vowelCount= Counter(vowel for vowel in sentence.lower() if vowel in "aeiou").most_common(1)[0]

有人有更好的方法吗?

如果你只想知道最大发生元音,你真的不需要
计数器

counts = {i:0 for i in 'aeiou'}
for char in input("sentence: ").lower():
  if char in counts:
    counts[char] += 1
print(max(counts, key=counts.__getitem__))

在国际海事组织,为了清晰起见,最好避免使用长线:

#!/usr/local/cpython-3.3/bin/python

import collections

sentence = input("sentence").lower()
vowels = (c for c in sentence if c in "aeiou")
counter = collections.Counter(vowels)
most_common = counter.most_common(1)[0]
print(most_common)

问题到底是什么?为什么既有for循环又有
元音,元音计数=
行?在我看来,后一行将解决您的问题。您可以先对其进行排序,然后在O(n)时间内进行排序it@DavidRobinson有没有办法提取最常见的前5个变量,并将它们设置为不同的变量,如元音la、countA、元音lb和CountB等?您应该使用
counts[char]=counts.get(char,0)+1
@hcwhsa:谢谢你的错误报告。我只寻找元音,这就是为什么我像我那样初始化dict的原因;但我确实忘记了if语句