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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python英文高频句统计_使用Python 统计高频字数的方法

發布時間:2024/10/12 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python英文高频句统计_使用Python 统计高频字数的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題

(來自Udacity機器學習工程師納米學位預覽課程)

用 Python 實現函數 count_words(),該函數輸入字符串 s 和數字 n,返回 s 中 n 個出現頻率最高的單詞。返回值是一個元組列表,包含出現次數最高的 n 個單詞及其次數,即 [(, ), (, ), ... ],按出現次數降序排列。

可以假設所有輸入都是小寫形式,并且不含標點符號或其他字符(只包含字母和單個空格)。如果出現次數相同,則按字母順序排列。

例如:

print count_words("betty bought a bit of butter but the butter was bitter",3)

輸出

[('butter', 2), ('a', 1), ('betty', 1)]

解法

"""Count words."""

def count_words(s, n):

"""Return the n most frequently occuring words in s."""

w = {}

sp = s.split()

# TODO: Count the number of occurences of each word in s

for i in sp:

if i not in w:

w[i] = 1

else:

w[i] += 1

# TODO: Sort the occurences in descending order (alphabetically in case of ties)

top = sorted(w.items(), key=lambda item:(-item[1], item[0]))

top_n = top[:n]

# TODO: Return the top n most frequent words.

return top_n

def test_run():

"""Test count_words() with some inputs."""

print count_words("cat bat mat cat bat cat", 3)

print count_words("betty bought a bit of butter but the butter was bitter", 3)

if __name__ == '__main__':

test_run()

小結

主要兩個小技巧:

用split()將輸入字符串按空格分開;

用sorted()函數對字典 先按值,再按鍵 進行排序,尤其是item:(-item[1], item[0])) 代表先對item的第二個元素 降序 排列(item 之前用了-),然后對第一個元素 升序 排列。多個元素的元組亦然。

以上這篇使用Python 統計高頻字數的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持dt貓。

總結

以上是生活随笔為你收集整理的python英文高频句统计_使用Python 统计高频字数的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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