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

Pythonでのグループアナグラム


文字列のセットがあるとします。アナグラムをグループ化する必要があります。したがって、["eat"、 "tea"、 "tan"、 "ate"、 "nat"、 "bat"]の場合、グループは[["ate"、 "eat"、 "tea"]、[" nat "、" tan "]、[" bat "]]

これを解決するには、次の手順に従います-

  • 解像度をマップとして定義
  • 文字列配列のfori
    • x:=xと結合、ソートされたiの文字列
    • 結果のxの場合
      • 結果にiを挿入[x]
    • その他の結果[x]:=[i]
  • resの値をリストとして返す
例(Python)

理解を深めるために、次の実装を見てみましょう-

class Solution:
   def groupAnagrams(self, strs):
      result = {}
      for i in strs:
         x = "".join(sorted(i))
         if x in result:
            result[x].append(i)
         else:
            result[x] = [i]
      return list(result.values())
ob1 = Solution()
print(ob1.groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]))

入力

["eat", "tea", "tan", "ate", "nat", "bat"]

出力

[["ate","eat","tea"],["nat","tan"],["bat"]]

  1. Pythonの検索関数

    この関数は、オプションのフラグを使用して、文字列内で最初に出現するREパターンを検索します。 構文 この関数の構文は次のとおりです- re.search(pattern, string, flags=0) パラメータの説明は次のとおりです- Sr.No。 パラメータと説明 1 パターン これは、照合される正規表現です。 2 文字列 これは文字列であり、文字列の先頭のパターンに一致するように検索されます。 3 フラグ ビットごとのOR(|)を使用して、さまざまなフラグを指定できます。これらは修飾子であり、以下の表にリストされています。

  2. Pythonでのグループデータベースへのアクセス

    UNIXグループデータベースにアクセスするには、grpモジュールを使用する必要があります。シャドウパスワードデータベースエントリは、オブジェクトのようなタプルのようなものです。 grpモジュールを使用するには、-を使用してインポートする必要があります import grp grpデータベースの属性は-です。 インデックス 属性と説明 0 gr_name グループの名前 1 gr_passwd グループの暗号化されたパスワード。 (通常は空) 2 gr_gid グループID(数値) 3 gr_mem グループユ