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

セットの特定のサイズのすべてのサブセットを取得するPythonプログラム


この記事では、以下に示す問題ステートメントの解決策について学習します。

問題の説明 − 2つの整数が与えられているので、2つの数値の最大公約数を表示する必要があります

ここでは、入力として受け取る2つの数値の最小値を計算しています。各値を1から計算された最小値まで除算して計算することにより、除数を計算するループ。

条件が真であると評価されるたびに、カウンターは1ずつ増加します。

それでは、以下の実装の概念を見てみましょう-

# built-in module
import itertools
def findsubsets(str_, n):
   return list(itertools.combinations(s, n))
# Driver Code
str_ = {'t','u','t','o','r'}
n = 2
print(findsubsets(str_, n))

出力

[('u', 'r'), ('u', 'o'), ('u', 't'), ('r', 'o'), ('r', 't'), ('o',
't')]

# using combinations function in itertools
from itertools import combinations
def findsubsets(str_, n):
   return list(map(set, itertools.combinations(s, n)))
str_ = {'t','u','t','o','r'}
n = 3
print(findsubsets(str_, n))

出力

[{'u', 'o', 'r'}, {'u', 'r', 't'}, {'u', 'o', 't'}, {'o', 'r', 't'}]

# using combinations function in itertools and appending in a new list
def findsubsets(str_, n):
   return [set(i) for i in itertools.combinations(s, n)]
str_ = {'t','u','t','o','r'}
n = 3
print(findsubsets(str_, n))

出力

[{'u', 'o', 'r'}, {'u', 'r', 't'}, {'u', 'o', 't'}, {'o', 'r', 't'}]

すべての変数はローカルスコープで宣言されており、それらの参照は上の図に示されています。

結論

この記事では、等式と参照演算子(is)を使用したPythonオブジェクトの比較について学習しました。


  1. 無向グラフにPythonで指定されたサイズの独立集合が含まれているかどうかを確認します

    与えられた無向グラフがあるとしましょう。サイズlの独立集合が含まれているかどうかを確認する必要があります。サイズlの独立したセットがある場合は、「はい」を返します。それ以外の場合は「いいえ」を返します。 グラフ内の独立集合は、互いに直接接続されていない頂点の集合として定義されていることに注意する必要があります。 したがって、入力がL =4のような場合、 その場合、出力はyesになります これを解決するには、次の手順に従います- 関数is_valid()を定義します。これはグラフを取ります、arr 0からarrのサイズまでの範囲のiの場合、実行します i + 1

  2. 指定された文字列のすべての順列を出力するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −文字列の可能なすべての順列を表示するために必要な文字列が与えられます。 次に、以下の実装のソリューションを見てみましょう- 例 # conversion def toString(List):    return ''.join(List) # permutations def permute(a, l, r):    if l == r:       print (toString(a))    e