您好,登錄后才能下訂單哦!
本文實例為大家分享了python統計序列中元素的具體代碼,供大家參考,具體內容如下
問題1:
隨機數列[12,5,8,7,8,9,4,8,5,...] 中出現次數最高的3個元素,他們出現的次數
問題2:
對某英文文章的單詞,進行詞頻統計,找出出現次數最搞得10個單詞,他們出現的次數是多少?
上面問題都是以字典的形式保存結果
如何解決問題1?
方法1:
#!/usr/bin/python3 from random import randint def count_seq(data): # 初始化統計結果字典,data中的key作為結果字典的key,0作為每個key的初始值 result_c = dict.fromkeys(data, 0) # 循環data,對字典中中碰到的值進行 +1 ,循環完成后就是結果 for x in data: result_c[x] += 1 return result_c if __name__ == '__main__': # 生成20個隨機數 data = [randint(0, 20) for _ in range(20)] print(data) # 結果 result_c = count_seq(data) for i in result_c: print(i, result_c[i])
方法2:
使用 collections下Counter對象
#!/usr/bin/python3 from random import randint from collections import Counter def count_seq(data): # 創建Counter對象,并把打他傳遞進去 median_c = Counter(data) # 返回統計最大的3個數 return median_c.most_common(3) if __name__ == '__main__': # 生成20個隨機數 data = [randint(0, 20) for _ in range(20)] print(data) # 結果 result_c = count_seq(data) print(result_c, dict(result_c))
問題2如何解決?
import re from collections import Counter def count_words(): # 讀取文件 with open('english_article', 'r', encoding='utf-8') as data: print() # 文件單詞分割 data_list = re.split('\W+', data.read()) # 單詞統計 words = Counter(data_list) # 取單詞統計最大的10個值 return words.most_common(10) if __name__ == '__main__': result = count_words() print(result)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。