python 獲取字串中出現次數最多的字母
阿新 • • 發佈:2019-02-18
獲取字串中出現次數最多的字母
給定一個包含不同的英文字母和標點符號的文字,找出其中出現最多的字母,不區分大小寫,並返回一個小寫字母,若存在相同次數的字母,則返回字母表中最先出現的那個。
採用內建函式max
import string
class Solution:
def getMostWord(self,wordstr):
#將字串小寫化
wordstr = wordstr.lower()
#string.ascii_lowercase表示字母串'abcdef··z'
return max(string.ascii_lowercase, key=wordstr.count)
#測試用例:
handler=Solution()
print handler.getMostWord("Zsdfghjkal;;DDDAAA;;;;;''';lkjhgfda")
>>>
a
max/min函式: 直接跟序列會返回此序列的最大/最小值
max(iterable, key, default) :求迭代器的最大值
其中iterable 為一個可迭代物件,如list,str。
原理:max會遍歷這個迭代器,然後將迭代器的每一個返回值當做引數傳給key中的function (一般用lambda表示式定義) ,然後將function的執行結果傳給key,然後以key為標準進行大小的判斷。