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("字符串是:")
print(my_string)
print("重复的所有排列 " + my_string + " are...")
all_lex(my_string)输出结果字符串是: MQ 重复的所有排列 MQ are... MM MQ QM QQ
解释
定义了一个名为“to_string”的方法,它将列表作为参数并通过连接所有值返回它。
定义了另一个名为“lex_recurrence”的方法,它采用字符串、索引值作为参数。
它遍历字符串的长度,并检查最后一个值和索引值是否相同。
如果是,则将其打印为组合之一。
否则,通过增加index的值再次调用该方法。
定义了另一个名为“all_lex”的方法,该方法使用“sorted”方法对字符串进行排序并再次调用前一个方法。
在该方法之外,定义了一个字符串并显示在控制台上。
输出显示在控制台上。