ホームページ  >  記事  >  バックエンド開発  >  シーケンス内の要素を数える Python メソッド

シーケンス内の要素を数える Python メソッド

小云云
小云云オリジナル
2018-03-29 13:55:401615ブラウズ

この記事では主に 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:

コレクションの下の 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 を解決するにはどうすればよいですか?

りー

以上がシーケンス内の要素を数える Python メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。