ホームページ  >  記事  >  バックエンド開発  >  Python - 最大 K までの組み合わせを連結します

Python - 最大 K までの組み合わせを連結します

PHPz
PHPz転載
2023-08-26 23:01:121101ブラウズ

Python - 将组合连接直到 K

Group concatenate until K は、特定の条件が満たされるまでグループまたはシーケンス内の要素を連結することを意味します。 Python では、ループとアキュムレータの使用、itertools.groupby() 関数の使用、正規表現の使用など、さまざまな方法を使用して K までのグループ連結を実装できます。この記事では、K までグループ連結するか、特定の条件を満たすために、これらすべてのメソッドを使用して検討します。

方法 1: ループとアキュムレータを使用する

このメソッドは、ループとアキュムレータを利用して、目標値 K に到達するまで要素をグループ化します。 K が見つかるまでリストを反復処理し、要素を一時グループに蓄積します。 K が見つかると、それは文字列に結合され、結果リストに追加されます。最後に、グループ内の残りの要素が結果のリストに追加されます。

###文法### リーリー

ここで、append() 関数は、リストの末尾に要素を追加するために使用されるリスト メソッドです。指定された要素を新しい項目として元のリストに追加することにより、元のリストを変更します。

###例###

次の例では、関数

group_concatenate_till_k

はリスト lst とターゲット値 K を受け入れます。グループ化された要素を格納するために空のリスト結果を初期化し、K が見つかるまで要素を蓄積するために空のリスト グループを初期化します。リスト内の各項目をループします。項が K に等しい場合、グループ内の要素は文字列に連結され、結果に追加され、グループは空のリストにリセットされます。項目が K と等しくない場合は、その項目をグループに追加します。

最後に、グループ内の残りの要素を結果に追加し、結果を返します。 リーリー ###出力### リーリー 方法 2: itertools.groupby() を使用する

この方法では、itertools モジュールの groupby 関数を使用して、特定の条件に基づいて連続する要素をグループ化します。ラムダ関数で条件を指定すると、リストが K を含まないグループに分割されます。各グループの要素は文字列に連結され、結果のリストに追加されます。

###文法### リーリー

ここで、append() 関数は、リストの末尾に要素を追加するために使用されるリスト メソッドです。指定された要素を新しい項目として元のリストに追加することにより、元のリストを変更します。

リーリー

ここで、 groupby() メソッドは、入力として反復可能なオブジェクトと、オプションのキー関数を受け入れます。連続するキーと から構成されるタプルを生成する反復子を返します。キー関数は、グループ化の基準を決定するために使用されます。

###例###

次の例では、関数 group_concatenate_till_k はリスト lst とターゲット値 K を受け入れます。 groupby 関数を使用して、条件 lambda x: x != K に基づいてリスト内の連続する要素をグループ化します。 groupby 関数は、キーのペア (条件の結果) と、対応するグループのイテレータを返します。キーが True かどうかを確認することで、K を含まないグループを特定し、要素を連結して文字列を形成します。その後、文字列が結果リストに追加されます。

リーリー ###出力### リーリー

方法 3: 正規表現を使用する

この方法では、正規表現を使用して、ターゲット値 K に基づいてリストをグループに分割します。正規表現関数を使用してパターンを構築し、K がグループの先頭にないことを確認します。次に、 re.split 関数を使用して、このパターンに基づいて連結された文字列を分割し、必要なグループ化された要素を取得します。

###文法### リーリー

ここで、re モジュールの

re.split

関数は、パターンと文字列の 2 つのパラメーターを受け入れます。 pattern は分割基準を定義する正規表現で、string は分割される入力文字列です。この関数は、指定されたパターンに従って分割操作によって生成された部分文字列のリストを返します。

###例###

次の例では、関数

group_concatenate_till_k

はリスト lst とターゲット値 K を受け入れます。 K 値をエスケープし、負の先読みアサーションを使用して K がグループの先頭にないことを確認することで、正規表現パターンを構築します。連結された文字列は、 re.split 関数を使用して、構築されたパターンに基づいて分割されます。グループ化された要素を含む結果のリストが出力として返されます。

リーリー ###出力### リーリー ###結論は###

この記事では、特定の条件 K が満たされるまでリストまたはシーケンスの要素をグループ化して接続する方法について説明しました。私たちは、ループとアキュムレータ、itertools.groupby()、正規表現の使用という 3 つのアプローチを検討しました。ニーズや好みに応じて、特定の使用例に最も適した方法を選択できます。

以上がPython - 最大 K までの組み合わせを連結しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。