ホームページ  >  記事  >  バックエンド開発  >  Pythonのコレクション.カウンター型を理解する

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

coldplay.xixi
coldplay.xixi転載
2020-11-23 17:36:293363ブラウズ

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 までご連絡ください。