[2つの入れ子リストの共通部分を見つける方法は?]

PYTHON3 チュートリアル

Pythonを使用して2つの入れ子リストの共通部分を見つける方法

Pythonを使用して2つの入れ子リストの共通部分を見つける方法について説明します。この方法は、2つの入れ子リストが与えられた際に、それらのリストに共通して含まれる要素を見つけるものです。

サンプルコード1: リスト内包表記を使用した方法

def find_common_elements(list1, list2):
    common_elements = [element for sublist1 in list1 for element in sublist1 if all(element in sublist2 for sublist2 in list2)]
    return common_elements

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [[2, 3, 4], [5, 6, 7], [8, 9, 10]]
result = find_common_elements(list1, list2)
print(result)

上記のコードでは、リスト内包表記を使用して2つの入れ子リストの共通部分を見つけています。関数find_common_elementsは、2つの入れ子リストを受け取り、共通する要素を見つけています。

サンプルコード2: 集合演算を使用した方法

def find_common_elements(list1, list2):
    set1 = set([element for sublist1 in list1 for element in sublist1])
    set2 = set([element for sublist2 in list2 for element in sublist2])
    common_elements = list(set1.intersection(set2))
    return common_elements

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [[2, 3, 4], [5, 6, 7], [8, 9, 10]]
result = find_common_elements(list1, list2)
print(result)

上記のコードでは、集合演算を使用して2つの入れ子リストの共通部分を見つけています。リストを集合に変換し、intersectionメソッドを使用して共通する要素を取得しています。

サンプルコード3: 内包表記とセットを組み合わせた方法

def find_common_elements(list1, list2):
    common_elements = list({element for sublist1 in list1 for element in sublist1} & {element for sublist2 in list2 for element in sublist2})
    return common_elements

list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [[2, 3, 4], [5, 6, 7], [8, 9, 10]]
result = find_common_elements(list1, list2)
print(result)

上記のコードでは、内包表記とセットを組み合わせて2つの入れ子リストの共通部分を見つけています。リストをセットに変換し、論理積演算子&を使用して共通する要素を取得しています。

これらのサンプルコードを使用することで、Pythonで簡単に2つの入れ子リストの共通部分を見つけることができます。

2つの入れ子リストの共通部分を見つける方法は、通常、2つのリストを比較して、共通している要素を抽出することです。このプロセスを行うために、通常、2つのリストをループして、各要素が他方のリストに存在するかどうかを確認します。もし要素が両方のリストに存在する場合、それは共通部分として抽出されます。この方法は、プログラミング言語やライブラリによって異なる実装方法がありますが、基本的な考え方は同じです。

購読
通知
0 Comments
Inline Feedbacks
View all comments