[英]Is it possible to use the Counter function to see the ocurrences of elements in a list within a bigger list?
我被要求编写代码来计算单个输入单词中每个元音的出现次数。 不区分大小写。
所以我基本上想计算一个列表中不同元素的出现。 我认为他们的方式是创建一个列表。 vowels=( "a","e","i","o","u" )
然后我输入单词,降低它,等等。
from collections import Counter
x = input()
y = x.lower()
z = list(y)
然后我想使用计数器,这样它就可以一次计算所有的元音。
C = z.Counter(vowels)
print(C)
但是当我运行该软件时,它会显示给我
AttributeError: 'list' object 没有属性 'Counter'
那么我做错了什么? 或者你能不能像使用计数一样使用计数器?
(我已经使用 count 解决了练习,但我正在尝试找到一个更优雅更简洁的解决方案。)
这是我试图使工作的整个代码:
from collections import Counter
x = input()
y = x.lower()
z = list(y)
vowels=[ "a" ,"e" ,"i" ,"o" ,"u" ]
C = z.Counter(vowels)
print(C)
Counter
既不是属性也不是列表方法。 试试这个:
vowels = ("a", "e", "i", "o", "u")
x = input("Enter a word:") # input: aeiai
y = x.lower()
vowels_counter = {k: v for k, v in Counter(y).items() if k in vowels}
print(vowels_counter) # output: {'a': 2, 'e': 1, 'i': 2}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.