ネストされたリストの共通部分の決定
2 つのフラット リストの共通部分を見つけるのは簡単なプロセスです。ただし、ネストされたリストを扱う場合はさらに複雑になります。この記事では、2 つのネストされたリストから共通の要素を抽出し、それらをネストされた形式で表示するためのソリューションを提供します。
ソリューションを理解するには、2 つのセット、つまりリストの共通部分がコレクションであることに注意することが重要です。両方のセットに共通する要素。ネストされたリストの場合、各リストの個々の要素に対して交差演算を実行する必要があります。
これを実現するには、Python の組み込みセット データ構造を利用できます。これにより、効率的な演算が可能になります。交差点を見つけること。次のネストされたリストを考えてみましょう:
c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63] c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
私たちの目標は、これら 2 つのリストの共通部分を見つけて次の結果を取得することです:
c3 = [[13, 32], [7, 13, 28], [1, 6]]
これを達成するには、ネストされたそれぞれのリストを変換できます。リストをその要素のセットに追加します。次に、これらのセットに対して交差演算を実行して、共通の要素を特定します。最後に、元のネスト構造を維持しながら、交差したセットをネストされたリストに変換し直すことができます。
# Convert each nested list to a set set1 = set(c1) set2s = [set(list_) for list_ in c2] # Find the intersection of the sets intersected_sets = set1.intersection(*set2s) # Convert the intersected set back into a nested list c3 = [[element for element in list_ if element in intersected_sets] for list_ in c2]
これらの手順に従うことで、ネストされたリストの交差を効率的に見つけて、結果を目的の形式で表示できます。形式。
以上がPython で 2 つのネストされたリストの共通部分を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。