Python - 字符重复字符串组合

pythonserver side programmingprogramming更新于 2025/11/9 14:36:17

当需要获取给定字符的字符重复时,会定义一个方法,使用索引值打印重复。

示例

下面是相同的演示

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 + " 的排列都是...")
all_lex(my_string)

输出

字符串为:
MQ
所有重复的 MQ 的排列都是...
MM
MQ
QM
QQ

解释

  • 定义了一个名为‘to_string’的方法,该方法以列表为参数并通过连接所有值返回该列表。

  • 另一个名为‘lex_recurrence’的方法定义了一个以字符串和索引值作为参数的方法。

  • 该方法遍历字符串的长度,并检查最后一个值和索引值是否相同。

  • 如果相同,则将其作为组合之一打印出来。

  • 否则,通过增加索引值再次调用该方法。

  • 还定义了另一个名为‘all_lex’的方法,该方法使用‘sorted’方法对字符串进行排序,然后再次调用前一个方法。

  • 在该方法之外,定义了一个字符串并显示在控制台上。

  • 输出显示在控制台上。


相关文章


有用资源