簡體   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