ホームページ > バックエンド開発 > Python チュートリアル > Pythonのコレクション.カウンター型を理解する

Pythonのコレクション.カウンター型を理解する

coldplay.xixi
リリース: 2020-11-23 17:36:29
転載
3382 人が閲覧しました

Python ビデオ チュートリアル コラムでは、Python の collections.Counter 型について紹介します。

Pythonのコレクション.カウンター型を理解する

collections.Counter 型は、ハッシュ可能なオブジェクトをカウントするために使用することも、マルチコレクションとして使用することもできます。マルチコレクションはコレクションの要素です。 1.複数回出現する可能性があります。

collections.Counter 型は、他のプログラミング言語の bags または multisets2 に似ています。

(1) 基本的な使い方

counter = collections.Counter(['生物', '印记', '考古学家', '生物', '枣', '印记'])
logging.info('counter -> %s', counter)
counter.update(['化石', '果实', '枣', '生物'])
logging.info('counter -> %s', counter)
most = counter.most_common(2)
logging.info('most -> %s', most)
ログイン後にコピー

実行結果:

INFO - counter -> Counter({'生物': 2, '印记': 2, '考古学家': 1, '枣': 1})
INFO - counter -> Counter({'生物': 3, '印记': 2, '枣': 2, '考古学家': 1, '化石': 1, '果实': 1})
INFO - most -> [('生物', 3), ('印记', 2)]
ログイン後にコピー

サンプルプログラムでは、まず collections.Counter() を使用してカウンタを初期化します。オブジェクト。現在の単語の出現数はカウンター オブジェクトで計算されています。collections.Counter()入力パラメーターは、ここでのリストなどの反復可能なオブジェクトです。次に、update() メソッドを使用して、新しい単語リストを渡します。このとき、カウンター オブジェクトはカウンターを更新し、累積計算を実行します。最後に、most_common() を使用します。 counter オブジェクトのメソッドを使用して、時間のランキングを出力します。上位 2 つの単語リスト。

(2) 集合演算

collections.Counter 型は集合演算もサポートしています。

a = collections.Counter({'老虎': 3, '山羊': 1})
b = collections.Counter({'老虎': 1, '山羊': 3})
logging.info('a -> %s', a)
logging.info('b -> %s', b)
logging.info('a+b -> %s', a + b)
logging.info('a-b -> %s', a - b)
logging.info('a&b -> %s', a & b)
logging.info('a|b -> %s', a | b)
ログイン後にコピー

実行結果:

INFO - a -> Counter({'老虎': 3, '兔子': 2, '山羊': 1})
INFO - b -> Counter({'山羊': 3, '老虎': 1})
INFO - a+b -> Counter({'老虎': 4, '山羊': 4, '兔子': 2})
INFO - a-b -> Counter({'老虎': 2, '兔子': 2})
INFO - a&b -> Counter({'老虎': 1, '山羊': 1})
INFO - a|b -> Counter({'老虎': 3, '山羊': 3, '兔子': 2})
ログイン後にコピー
  • 例の A と b は両方とも Counter 型のオブジェクトです。また、Counter オブジェクトがキーと値のペアを使用して初期化できることも示しています。

  • #a b は、すべての要素を含む結合演算を表します。

  • # a-b は差集合演算を表します。

  • a&b は交差演算を表します。

  • a|b は特殊で、最初にすべてのキーが含まれ、次に比較されます。 2 つのオブジェクトの対応するキーの最大値が新しいオブジェクトの値として返されます。たとえば、オブジェクト a に 'tiger': 3 が含まれ、オブジェクト b に 'tiger': 1 が含まれている場合、取得される最終オブジェクトは 'tiger': 3 になります。

(3) 正および負の値のカウント

Counter タイプのカウンタは、負の値もサポートします。

c = collections.Counter(x=1, y=-1)
logging.info('+c -> %s', +c)
logging.info('-c -> %s', -c)
ログイン後にコピー

実行結果:

INFO - +c -> Counter({'x': 1})
INFO - -c -> Counter({'y': 1})
ログイン後にコピー
Counter 型オブジェクトのプレフィックスとして

/- を使用するだけで、正および負のカウント フィルタリングを行うことができます。達成。 Pythonのこのデザインはとてもエレガントです。

関連する無料学習の推奨事項: Python ビデオ チュートリアル

以上がPythonのコレクション.カウンター型を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.im
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート