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

Pythonで1つのリストが他のリストのサブセットであるかどうかを確認します


テキスト分析やその他のデータ分析のさまざまな分野では、特定のリストがすでに大きなリストの一部であるかどうかを確認する必要があることがよくあります。この記事では、この要件を実装するためのPythonプログラムについて説明します。

すべてで

forループを使用して、小さいリストのすべての要素が大きいリストに存在するかどうかを確認します。 all関数は、各評価がtrueを返すことを保証します。

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if (all(x in Alist for x in Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if (all(x in Alist for x in Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

出力

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

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list

サブセットあり

このアプローチでは、リストをセットに変換し、サブセット関数を使用して、小さいリストが大きいリストの一部であるかどうかを検証します。

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if(set(Asub_list).issubset(set(Alist))):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if(set(Asub_list).issubset(set(Alist))):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

出力

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

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list

交差点の使用

交差関数は、2つのセット間の共通要素を見つけます。このアプローチでは、リストをセットに変換し、交差関数を適用します。交差の結果がサブリストと同じである場合、サブリストはリストの一部であると結論付けます。

Alist = ['Mon','Tue', 5, 'Sat', 9]
Asub_list = ['Tue',5,9]

# Given list and sublist
print("Given list ",Alist)
print("Given sublist",Asub_list)

# With all
if(set(Alist).intersection(Asub_list)== set(Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

# Checkign again
Asub_list = ['Wed',5,9]
print("New sublist",Asub_list)
if(set(Alist).intersection(Asub_list)== set(Asub_list)):
   print("Sublist is part of bigger list")
else:
   print("Sublist is not part of bigger list")

出力

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

Given list ['Mon', 'Tue', 5, 'Sat', 9]
Given sublist ['Tue', 5, 9]
Sublist is part of bigger list
New sublist ['Wed', 5, 9]
Sublist is not part of bigger list

  1. Pythonで1つのツリーが他のツリーのサブツリーであるかどうかを確認するプログラム

    2つの二分木があるとします。 2番目のツリーが最初のツリーのサブツリーであるかどうかを確認する必要があります。 したがって、入力が次のような場合 その場合、出力はTrueになります。 これを解決するには、次の手順に従います- 関数solve()を定義します。これはルート、ターゲットになります ルートがnullで、ターゲットもnullの場合、 Trueを返す ルートがnullまたはターゲットがnullの場合、 Falseを返す ルートの値がターゲットの値と同じである場合、 戻り値solve(ルートの左、ターゲットの左)とsolve(ル

  2. Pythonのサフィックスのリストから文字列が1つで終わっているかどうかを確認するにはどうすればよいですか?

    Pythonには、Stringクラスにendswith(tuple)メソッドがあります。このメソッドは、検索する文字列のタプルを受け入れ、文字列オブジェクトで呼び出されます。このメソッドは次の方法で呼び出すことができます: string = 'core java' print(string.endswith(('txt', 'xml', 'java', 'orld'))) 出力 True 文字列が指定されたサフィックスのリストで終わっているかどうかを確認する別の方法があります。これを行うには、reモジュール(正