Python
 Computer >> コンピューター >  >> プログラミング >> Python

collections.Counter()を使用したPythonプログラムでのアナグラムチェック


2つの文字列は、順序が異なっていても同じ文字である場合、それぞれのアナグラムであると言われます。このチュートリアルでは、 collections.Counter()を使用してPythonでアナグラムを確認します。 メソッド。

Input:
string_one = "cat"
string_two = "tac"
Ouput:
True

collections.Counter()

collection.Counter() 文字列の各文字の頻度を含む辞書を返します。 カウンター オブジェクトには、最も一般的な要素、一意の要素、カウント、を見つけるためのさまざまなメソッドがあります など、

一例を見てみましょう。

# importing the collections module
import collections
# creating Counter object
counter = collections.Counter("Hafeez")
# printing the counter
print(counter)
# displaying most common character from the string
print("\nMost common character")
print(counter.most_common(1))

出力

上記のプログラムを実行すると、次の結果が得られます。

Counter({'e': 2, 'H': 1, 'a': 1, 'f': 1, 'z': 1})
Most common character
[('e', 2)]

アナグラムを確認する手順。

アルゴリズム

1. Initialise two strings.
2. Create collections.Counter() objects for both strings.
3. If both of the objects are equal.
   3.1. Print True
4. Else print False

一例を見てみましょう。

# importing the collections module
import collections
# initializing strings
string_one = "cat"
string_two = "atc"
# checking the Counter objects of both strings
if collections.Counter(string_one) == collections.Counter(string_two):
   # they are equal so, printing True
   print(True)
else:
   # they are not equal so, printing False
   print(False)

出力

上記のプログラムを実行すると、次の結果が得られます。

True

結論

チュートリアルに従う際に問題が発生した場合は、コメントセクションにその旨を記載してください。


  1. Unittestを使用したPythonプログラムでのユニットテスト

    この記事では、Python3.xで利用可能なunittestモジュールを使用して、ソフトウェアテストの基本について学習します。またはそれ以前。自動化、テストのセットアップと終了コードの共有、およびすべてのフレームワークの独立したテストが可能になります。 単体テストでは、さまざまなオブジェクト指向の概念を使用します。ここでは、主に使用されるいくつかの概念について説明します。 テストケース −これは、特定の入力セットに従った応答固有の基本クラスです。この操作を実装するには、ユニットテストの基本クラス、つまり「TestCase」を使用します。 テストスイート −テストケースをまとめて実

  2. PythonでOpenCVを使用してフレームを抽出するプログラム?

    OpenCV(オープンソースコンピュータービジョン)は、基本的に機械学習とコンピュータービジョンのために開発されたオープンソースプログラミングライブラリです。コンピュータビジョンアプリケーションで動作し、商用製品での機械学習の使用を高速化するための共通のインフラストラクチャを提供します。 コンピュータービジョンと機械学習の両方に最適化された2.5千を超えるアルゴリズムは、古典的で最先端のアルゴリズムです。非常に多くのアルゴリズムを使用して、顔の検出と再編成、オブジェクトの識別、ビデオ内の人間の行動の分類、カメラの動きの追跡、画像の結合によるシーン全体の高解像度画像の生成など、さまざまな目的で