日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發現一個學Python的好網站 https://py.checkio.org

第一題大概意思就是找出一個字符串中出現頻率最高字母

我的思路也是直接,弄個字典,遍歷字符串,將鍵值對填進字典里,健就是字母,值就是出現了幾次,再查下字典里最大的值即可。

上我的代碼

import re, string

def checkio(text):

#先變小寫再排序

text ="".join((lambda x:(x.sort(),x)[1])(list(text.lower())))

dicts = {}

#遍歷字符串

for i in text[0:]:

#篩選只有字母的

if i.isalpha():

#有則加一,無則為一

if i in dicts:

dicts[i] = dicts[i] + 1

else:

dicts[i] = 1

test = 0

a = ''

#遍歷所有key值

for j in dicts.keys():

#大的留下,小的直接過

if dicts[j] > test:

test = dicts[j]

a = j

#返回值

return a

if __name__ == '__main__':

#These "asserts" using only for self-checking and not necessary for auto-testing

assert checkio("Hello World!") == "l", "Hello test"

assert checkio("How do you do?") == "o", "O is most wanted"

assert checkio("One") == "e", "All letter only once."

assert checkio("Oops!") == "o", "Don't forget about lower case."

assert checkio("AAaooo!!!!") == "a", "Only letters."

assert checkio("abe") == "a", "The First."

print("Start the long test")

assert checkio("a" * 9000 + "b" * 1000) == "a", "Long."

print("The local tests are done.")

外國的大神是這樣寫的 兩句話

def checkio(text):

#我懂第一步是變小寫

text = text.lower()

#what? max不就是個比大小的?咋這么牛逼呢?

return max(string.ascii_lowercase, key=text.count)

其中 string.ascii_lowercase這個打印結果是abcdefghijklmnopqrstuvwxyz,

這個就是字母表小寫字母排序輸出,key=text.count 先要理解count這個方法 ,count() 方法用于統計字符串里某個字符出現的次數。可選參數為在字符串搜索的開始與結束位置,那就是我挨個在count里傳入字母,它也挨個返回這個字母返回的次數。max里就是比大小咯,輸出第一個。神奇!!!

總結

以上是生活随笔為你收集整理的python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。