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

Python-文字の繰り返し文字列の組み合わせ


特定の文字の文字の繰り返しを取得する必要がある場合は、インデックス値を使用して繰り返しを出力するメソッドが定義されます。

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

def to_string(my_list):
   return ''.join(my_list)

def lex_recurrence(my_string, my_data, last_val, index_val):
   length = len(my_string)

   for i in range(length):

      my_data[index_val] = my_string[i]

      if index_val==last_val:
         print(to_string(my_data))
      else:
         lex_recurrence(my_string, my_data, last_val, index_val+1)

def all_lex(my_string):
   length = len(my_string)

   my_data = [""] * (length+1)
   my_string = sorted(my_string)
   lex_recurrence(my_string, my_data, length-1, 0)

my_string = "MQ"
print("The string is :")
print(my_string)
print("All permutations with repetition of " + my_string + " are...")
all_lex(my_string)

出力

The string is :
MQ
All permutations with repetition of MQ are...
MM
MQ
QM
QQ

説明

  • 「to_string」という名前のメソッドが定義されています。このメソッドは、リストをパラメーターとして受け取り、すべての値を結合してリストを返します。

  • 「lex_recurrence」という名前の別のメソッドが定義されています。このメソッドは、文字列、インデックス値をパラメータとして受け取ります。

  • 文字列の長さ全体を繰り返し、最後の値とインデックス値が同じかどうかを確認します。

  • そうである場合は、組み合わせの1つとして印刷されます。

  • それ以外の場合は、インデックスの値をインクリメントしてメソッドが再度呼び出されます。

  • 「sorted」メソッドを使用して文字列をソートし、前のメソッドを再度呼び出す「all_lex」という名前の別のメソッドが定義されています。

  • メソッドの外部では、文字列が定義され、コンソールに表示されます。

  • 出力はコンソールに表示されます。


  1. Pythonプログラムで文字列からn番目の文字を削除する

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 文字列が与えられたので、与えられた文字列からi番目のインデックス付き文字を削除して表示する必要があります。 Pythonのどの文字列でも、インデックス付けは常に0から始まります。文字列「tutorialspoint」があるとすると、そのインデックス付けは次のように行われます- T u t o r i a l s p o i n t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 次に、ステートメントを解決するためのPythonスクリプトgを見てみましょう- 例 def remove(str

  2. 文字列内の文字がPythonの文字であるかどうかを確認するにはどうすればよいですか?

    文字列クラスのisalpha()メソッドを使用できます。文字列がアルファベットのみで構成されているかどうかをチェックします。また、文字がアルファベットかどうかを確認するためにも使用できます。たとえば、5番目のインデックスの文字が文字かどうかを確認する場合は >>> s = "Hello people" >>> s[4].isalpha() True 文字列がアルファベットかどうかを確認することもできます。たとえば、 >>> s = "Hello people" >>> s.isal