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

Pythonでk文字を削除した後、可能なすべての部分文字列を検索します


文字列が与えられます。必要なタスクは、文字列から1文字を取り出し、文字列の残りの文字を印刷することです。そして、これは文字列の各文字に対してそうする必要があります。

ループと範囲あり

これは基本的なプログラミングアプローチであり、最初に文字列の宣言、開始位置と終了位置の変数の作成、各文字の一時的なプレースホルダーの作成など、必要なパラメーターを一覧表示します。各文字を繰り返し処理し、残りの文字の文字列を作成する関数を作成します。

list = []

def letterCombinations(s, t, start, end, index, k):
   if (index == k):
      elem = ''

      for j in range(k):
         elem += t[j]
      list.append(elem)
      return

   i = start
   while (i <= end and end - i + 1 >= k - index):
      temp[index] = s[i]
      letterCombinations(s, t, i + 1,
                        end, index + 1, k)
      i += 1
stringA = 'Apple'
k = 1
temp = [0] * (len(stringA) - k)
start = 0
end = len(stringA) - 1

letterCombinations(stringA, temp, start, end, 0, len(stringA) - k)
print(set(list))

出力

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

{'pple', 'Aple', 'Appl', 'Appe'}

itertoolsを使用

このアプローチでは、combinationsという名前の関数を持つモジュールitertoolsを使用します。これにより、指定された文字列から1つの文字を削除した後、可能なすべての文字の組み合わせを作成できます。

from itertools import combinations

stringA = 'Apple'
k = 1

# using combinations
res = set([''.join(i) for i in combinations(stringA, len(stringA) - k)])

print(res)

出力

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

{'Appl', 'Aple', 'Appe', 'pple'}

  1. 文字列内のすべての重複文字を検索するPythonプログラム

    このチュートリアルでは、文字列内のすべての重複する値を見つける方法を学習します。 Pythonではさまざまな方法でそれを行うことができます。それらを1つずつ調べてみましょう。 これから作成するプログラムの目的は、文字列に存在する重複文字を見つけることです。たとえば、文字列 tutorialspoint があります プログラムは私たちにto iを与えます 出力として。簡単に言うと、文字列内でカウントが1より大きい文字を見つける必要があります。見てみましょう。 スクラッチプログラム モジュールを使用せずにプログラムを作成する。 Pythonのさまざまなメソッドを使用して、目標を達成できます。ま

  2. Pythonで特定の文字列のすべての可能な順列を見つける方法は?

    特定の文字列のすべての可能な順列を見つけるには、permutations(iterable [、r])と呼ばれる便利なメソッドを持つitertoolsモジュールを使用できます。このメソッドは、反復可能な要素の連続するrの長さの順列をタプルとして返します。 すべての順列を文字列として取得するには、関数呼び出しを繰り返し処理してタプルを結合する必要があります。例:  >>>from itertools import permutations >>>print [''.join(p) for p in permutations('