同じ最初の値を持つリスト内のPythonグループタプル
このチュートリアルでは、すべてのタプルを同じ最初の要素でグループ化するプログラムを作成します。それを明確に理解するために例を見てみましょう。
入力
[(1, 2, 3), (1, 4, 5), (3, 4, 1), (3, 4, 2)]
出力
[(1, 2, 3, 4, 5), (3, 4, 1, 4, 2)]
問題を解決するための手順を見てみましょう。
- リストを初期化します。
- 空の辞書を初期化します。
- タプルのリストを繰り返し処理します。
- タプルの最初の要素が辞書のキーとして存在するかどうかを確認します。
- 存在する場合は、最初のタプル値なしで現在のタプル値を前の値に追加します。
- 存在しない場合は、最初の要素を含む現在のタプル要素でキーを初期化します。
- dictの値をリストとして出力します。
例
# initializing the list tuples = [(1, 2, 3), (1, 4, 5), (3, 4, 1), (3, 4, 2)] # empty dict result = {} # iterating over the tuples for sub_tuple in tuples: # checking the first element of the tuple in the result if sub_tuple[0] in result: # adding the current tuple values without first one result[sub_tuple[0]] = (*result[sub_tuple[0]], *sub_tuple[1:]) else: # adding the tuple result[sub_tuple[0]] = sub_tuple # printing the result in list print(list(result.values()))
出力
上記のコードを実行すると、次の結果が得られます。
[(1, 2, 3, 4, 5), (3, 4, 1, 4, 2)]
結論
さまざまな方法で問題の解決を試みることができます。また、チュートリアルに疑問がある場合は、コメントセクションでそれらについて言及してください。
-
Pythonの値としてインデックスを持つ辞書
この記事では、頻繁に使用される別のPythonコレクションであるlistから辞書を作成する方法を学習します。インデックスまたはキーはリストコンテンツの一部ではありません。ただし、辞書では、値と呼ばれるすべての要素にキーまたはインデックスを付加する必要があります。 列挙の使用 enumerate関数は、enumerateオブジェクトのキーとしてカウンターを追加します。したがって、これを特定のリストに適用し、forループを使用します。これにより、列挙関数によってキーが生成される必要な辞書が作成されます。 例 Alist = ['Mon', 'Tue', '
-
Python-同じ最初の値を持つタプルの合計を取得します
タプルは、順序付けられているが変更できないPythonコレクションまたは配列です。最初の要素が同じであるタプルの数を取得した場合、最初の要素が等しいタプルの2番目の要素を追加する必要があるシナリオがあります。 マップとforループの使用 この方法では、最初にタプルで構成されるリストを検討します。次に、それらを辞書に変換して、タプル内の要素をキーと値のペアとして関連付けることができるようにします。次に、辞書の各キーの値を合計してforループを適用します。最後に、map関数を使用して、合計値を含むリストを取得します。 例 List = [(3,19),(7, 31), (7, 50), (1,