python实现给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果!

2022/8/26 1:22:58

本文主要是介绍python实现给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目描述:给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果!

样例:

input:[["a","b","cd",["de"],["e","f"]]

output:["adee","adef","bdee","bdef","cddee","cddef"]

 

解决思路:这道题给我们的一个限制就是,单一循环解决不了该问题,容易发生索引越界异常!

针对题目描述,我们发现,最终的输出结果是第一个列表与其k-1个列表组合后的结果,如果应用循环来解决

我们应该将循环次数设定为k-1次,所以我们可以先定义一个针对两个字符列表组合的函数!

代码如下:

def Combine(list1,list2):
    list_empty = []
    l1 = len(list1)
    l2 = len(list2)

    for i in range(0,l1):
        for j in range(0,l2):
            list_empty.append(list1[i] + list2[j])
    return list_empty
然后,在主函数里,我的想法是,将每一次两个列表组合的结果与下一个列表进行组合,也就是调用之前定义的函数,
代码如下:
def fun(input_list, output_list = []):

    for i in range(0,len(input_list)-1):
        output_list = Combine(input_list[i],input_list[i+1])
        input_list[i+1] = output_list
    return output_list
最终,整体代码包括测试结果如图所示:

 

 

 



这篇关于python实现给定K个字符数组,从这k个字符数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合结果!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程