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

Pythonのリストのリストで一般的な要素を見つける


内部要素がリストでもあるリストを持つことができます。そのような場合、これらの内部リストに共通する要素を見つけなければならないときに、ニーズに遭遇する可能性があります。この記事では、これを実現するためのアプローチを紹介します。

地図と交差点あり

交差点は、異なるセット間で共通の要素を見つけるという単純な数学的概念です。 Pythonには、2つ以上のセット間の類似性を含むセットを返すsetメソッドがあります。そのため、最初にマップ関数を使用してリストの要素をsetに変換してから、この変換されたすべてのリストにsetメソッドを適用します。

listA = [['Mon', 3, 'Tue', 7,'Wed',4],['Thu', 5,'Fri',11,'Tue', 7],['Wed', 9, 'Tue', 7,'Wed',6]]

# Given list
print("Given list of lists : \n",listA)

# Applying intersection
res = list(set.intersection(*map(set, listA)))

# Result
print("The common elements among inners lists : ",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list of lists :
[['Mon', 3, 'Tue', 7, 'Wed', 4], ['Thu', 5, 'Fri', 11, 'Tue', 7], ['Wed', 9, 'Tue', 7, 'Wed', 6]]
The common elements among inners lists : ['Tue', 7]

reduceとlambdaを使用

Pythonでreduce関数を適用することもできます。この関数は、渡されたシーケンスで言及されているすべてのリスト要素に引数として渡された特定の関数を適用するために使用されます。ラムダ関数は、setが適用された後、ネストされた各リストを反復処理することにより、共通の要素を見つけます。

from functools import reduce
listA = [['Mon', 3, 'Tue', 7,'Wed',4],['Thu', 5,'Fri',11,'Tue', 7],['Wed', 9, 'Tue', 7,'Wed',6]]

# Given list
print("Given list of lists : \n",listA)

# Applying reduce
res = list(reduce(lambda i, j: i & j, (set(n) for n in listA)))

# Result
print("The common elements among inners lists : ",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list of lists :
[['Mon', 3, 'Tue', 7, 'Wed', 4], ['Thu', 5, 'Fri', 11, 'Tue', 7], ['Wed', 9, 'Tue', 7, 'Wed', 6]]
The common elements among inners lists : ['Tue', 7]

  1. リスト内の要素の合計を見つけるPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 入力としてリストが与えられた場合、与えられたリストの合計を計算する必要があります。 ここでは、考慮すべき2つのアプローチがあります。つまり、組み込み関数を使用する方法と、ブルートフォースアプローチを使用する方法です。 アプローチ1-組み込み関数の使用 例 # main arr = [1,2,3,4,5] ans = sum(arr) print ('Sum of the array is ',ans) 出力 15 すべての変数と関数はグローバルスコープで宣言されて

  2. Pythonリスト

    このチュートリアルでは、Pythonリストについて学習します。リストの作成、アイテムへのアクセス、アイテムの削除、リストの削除などの方法。 Pythonでは、リストは角かっこ[]を使用して作成されます リスト内の各項目は、コンマ,で区切られます。 。 Pythonリストには複数の異なるタイプのオブジェクトを含めることができるため、すべてが文字列や整数である必要はありません。たとえば、混合タイプを含むリストを作成できます。 mixedTypesList = [a, True, 1, 1.0] リストの作成方法 colorsList = [red, green, blue] print(co