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”方法对字符串进行排序并再次调用前一个方法。
在该方法之外,定义了一个字符串并显示在控制台上。
输出显示在控制台上。