繁体   English   中英

是否可以使用计数器 function 在更大的列表中查看列表中元素的出现?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM