python对列表中的数值进行统计运算_python-从单词列表中计算元音并返回数字作......
您正在提供一個列表,但是您的邏輯僅適用于單個字符串:
number_of_vowels('Bean') # [2]
您需要調整函數的輸入,或者修改函數以計算列表中每個元素的元音數量.由于您希望輸出為數字列表,因此我假設您正在尋找第二個選項.
為此,只需在列表理解中添加一個額外的for子句:
def number_of_vowels(words):
return [len([letter for letter in word if letter.lower() in vowels]) \n for word in words]
number_of_vowels(names) # [1, 2, 2, 3, 2, 0, 3]
但是,請注意,不需要中介列表.您可以將sum與生成器表達式結合使用,以利用True == 1和False == 0的事實:
vowels = set('aeiou')
def number_of_vowels(words):
return [sum(letter.lower() in vowels for letter in word) for word in words]
number_of_vowels(names) # [1, 2, 2, 3, 2, 0, 3]
請注意一些進一步的更改,以改進您的算法:
>檢查元音中的letter.lower()而不是僅創建一個小寫字母列表.否則將元音作為大寫字母,例如在“四月”中,將被忽略.
>將元音轉換為O(1)查找復雜度.
總結
以上是生活随笔為你收集整理的python对列表中的数值进行统计运算_python-从单词列表中计算元音并返回数字作......的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: los灯亮红灯闪烁是什么意思(路由器亮什
- 下一篇: 4399游戏开心消消乐电脑版官方下载(开