在Python3中,如何从短语列表中计算和提升元音?
在下面给出的列表中,在Python3中,如何从短语列表中计算和提升元音?,python,Python,在下面给出的列表中,短语,我想按升序打印最常用的元音 我在下面写了这段代码,但我不知道如何计算元音并按升序打印它们 我不确定len的情况,我认为需要更改代码,添加升序 phrase= ['world','good','question'] def phrase(): vowels = ('a','u','i','o','e') count=0 for i in range(0,len(phrase)): if phrase[i]==vowels[i]:
短语
,我想按升序打印最常用的元音
我在下面写了这段代码,但我不知道如何计算元音并按升序打印它们
我不确定len的情况,我认为需要更改代码,添加升序
phrase= ['world','good','question']
def phrase():
vowels = ('a','u','i','o','e')
count=0
for i in range(0,len(phrase)):
if phrase[i]==vowels[i]:
count=count+1
print (count)
phrase()
你想用;它将为您计算:
from collections import Counter
def count_vowels(phrase):
vowel_counts = Counter()
vowels = set('auioe')
for word in phrase:
vowel_counts.update(c for c in word if c in vowels)
for vowel, count in vowel_counts.most_common():
print '{}: {}'.format(vowel, count)
我对元音使用了set()
,因为这有助于加快成员资格()测试
请注意,您不能将函数和列表命名为相同的名称<代码>短语()
替换了列表短语
。将函数命名为不同的名称
演示:
你想用;它将为您计算:
from collections import Counter
def count_vowels(phrase):
vowel_counts = Counter()
vowels = set('auioe')
for word in phrase:
vowel_counts.update(c for c in word if c in vowels)
for vowel, count in vowel_counts.most_common():
print '{}: {}'.format(vowel, count)
我对元音使用了set()
,因为这有助于加快成员资格()测试
请注意,您不能将函数和列表命名为相同的名称<代码>短语()
替换了列表短语
。将函数命名为不同的名称
演示:
这有一个内在的东西。调用
count
我想你想要这样的东西:
def countVowels(word): # Where word is a string
counted = {'a':0,'e':0,'i':0,'o':0,'u':0} #dictionary to store counts in
vowels = ['a','e','i','o','u'] # this line could also be vowels = counted.keys()...lol
for letter in word:
for vowel in vowels:
counted[vowel] = word.count(vowel)
return counted
如果你想在一个列表上重复这个。。。照办
for word in listOfWords:
print word , countVowels(item)
我发现自己经常做的是,当我需要把一大堆事情列在一个清单上时,我会确保我能完美地完成一个例子。。。然后我将它们放入一个列表中,并在其上绑定一个for循环。这是一个内置的东西。调用
count
我想你想要这样的东西:
def countVowels(word): # Where word is a string
counted = {'a':0,'e':0,'i':0,'o':0,'u':0} #dictionary to store counts in
vowels = ['a','e','i','o','u'] # this line could also be vowels = counted.keys()...lol
for letter in word:
for vowel in vowels:
counted[vowel] = word.count(vowel)
return counted
如果你想在一个列表上重复这个。。。照办
for word in listOfWords:
print word , countVowels(item)
我发现自己经常做的是,当我需要把一大堆事情列在一个清单上时,我会确保我能完美地完成一个例子。。。然后我将它们放入一个列表中,并在其上绑定一个for循环。我在编写此命令时收到一个错误:来自Collections导入计数器,错误是:ImportError:没有名为“Collections”的模块@SN:仔细检查拼写。它是
集合
,而不是集合
(缺少c
)。它是计数器
,大写C
。我在写这封信时收到一个错误:来自Collections导入计数器,错误是:ImportError:没有名为“Collections”的模块@SN:仔细检查拼写。它是集合
,而不是集合
(缺少c
)。它是计数器
,大写C
。