中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何統計序列中元素

發布時間:2020-10-04 02:00:55 來源:腳本之家 閱讀:171 作者:北門吹雪 欄目:開發技術

本文實例為大家分享了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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

剑阁县| 尼玛县| 宜昌市| 阜阳市| 林甸县| 霍州市| 陕西省| 华池县| 耿马| 上高县| 古田县| 定襄县| 太和县| 曲阜市| 瓮安县| 潮安县| 靖江市| 贺兰县| 独山县| 永康市| 洛宁县| 鄱阳县| 建宁县| 崇左市| 尚义县| 乐安县| 延津县| 琼海市| 南华县| 比如县| 疏附县| 静海县| 甘南县| 大余县| 仙居县| 土默特右旗| 福安市| 沙河市| 神木县| 合江县| 松溪县|