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

文字列構築の最小要素を取得するPythonプログラム


文字列を作成するために最小限の要素を取得する必要がある場合は、「set」演算子、「combinations」メソッド、「issubset」メソッド、および単純な反復が必要です。

以下は同じもののデモンストレーションです

from itertools import combinations

my_list = ["python", "is", "fun", "to", "learn"]

print("The list is :")
print(my_list)

my_target_str = "onis"

my_result = -1
my_set_string = set(my_target_str)
complete_val = False
for value in range(0, len(my_list) + 1):

   for sub in combinations(my_list, value):

      temp_set = set(ele for subl in sub for ele in subl)

      if my_set_string.issubset(temp_set):
         my_result = value
         complete_val = True
         break
   if complete_val:
      break

print("The result is :")
print(my_result)

出力

The list is :
['python', 'is', 'fun', 'to', 'learn']
The result is :
2

説明

  • 必要なパッケージが環境にインポートされます。

  • リストが定義され、コンソールに表示されます。

  • 別の文字列が定義されています。

  • 文字列はリストに変換されます。

  • リストが繰り返され、リスト内の要素のさまざまな組み合わせが取得されます。

  • リストは繰り返され、セットに変換されます。

  • 「issubset」メソッドは、特定の値がセットに属しているかどうかを確認するために使用されます。

  • はいの場合、変数には「True」値が割り当てられ、ループから抜け出します。

  • 最終的にこの値が「True」の場合、結果はコンソールに表示されます。


  1. バブルソート用のPythonプログラム

    この記事では、バブルソートの並べ替え手法の実装について学習します。 次の図は、このアルゴリズムの動作を示しています- アプローチ 最初の要素(インデックス=0)から始めて、現在の要素を配列の次の要素と比較します。 現在の要素が配列の次の要素よりも大きい場合は、それらを交換します。 現在の要素が次の要素よりも小さい場合は、次の要素に移動します。 手順1を繰り返します。 次に、以下の実装を見てみましょう- 例 def bubbleSort(ar):    n = len(arr)    # Traverse through

  2. 線形探索のためのPythonプログラム

    この記事では、線形検索とPython3.xでの実装について学習します。またはそれ以前。 アルゴリズム Start from the leftmost element of given arr[] and one by one compare element x with each element of arr[] If x matches with any of the element, return the index value. If x doesn’t match with any of elements in arr[] , return -1 or element no