Python - Character repetition string combinations



When it is required to get the character repetitions of a given character, a method is defined that uses the index value to print the repetitions.

Example

Below is a demonstration of the same

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)

Output

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

Explanation

  • A method named ‘to_string’ is defined that takes a list as parameter and returns it by joining all values.

  • Another method named ‘lex_recurrence’ is defined that takes a string, index values as parameter.

  • It iterates over the length of the string, and checks to see if the last value and the index value are the same.

  • If they are, it is printed as one of the combination.

  • Otherwise, the method is called again by incrementing the value of index.

  • Another method named ‘all_lex’ is defined that sorts the string using the ‘sorted’ method and calls the previous method again.

  • Outside the method, a string is defined and is displayed on the console.

  • The output is displayed on the console.

Updated on: 2021-09-21T07:56:15+05:30

163 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements