gpt4 book ai didi

Python:递归

转载 作者:行者123 更新时间:2023-11-28 22:06:06 32 4
gpt4 key购买 nike

虽然网上有很多关于递归的信息,但我还没有找到任何可以应用于我的问题的信息。我对编程还是很陌生,所以如果我的问题很微不足道,请原谅。

感谢您的帮助:)

这就是我想要的结果:

listVariations(listOfItems, numberOfDigits) 

>>> listVariations(['a', 'b', 'c'], 1)
>>> ['a', 'b', 'c']

>>> listVariations(['a', 'b', 'c'], 2)
>>> ['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']

>>> listVariations(['a', 'b', 'c'], 3)
>>> ['aaa', 'aab', 'aac', 'aba', 'abb', 'abc', 'aca', 'acb', 'acc', 'baa', 'bab', 'bac', 'bba', 'bbb', 'bbc', 'bca', 'bcb', 'bcc', 'caa', 'cab', 'cac', 'cba', 'cbb', 'cbc', 'cca', 'ccb', 'ccc']

但到目前为止,我只能想出一个需要提前指定/知道位数的函数。这是丑陋和错误的:

list = ['a', 'b', 'c']

def listVariations1(list):
variations = []
for i in list:
variations.append(i)
return variations

def listVariations2(list):
variations = []
for i in list:
for j in list:
variations.append(i+j)
return variations

def listVariations3(list):
variations = []
for i in list:
for j in list:
for k in list:
variations.append(i+j+k)
return variations

oneDigitList = listVariations1(list)
twoDigitList = listVariations2(list)
threeDigitList = listVariations3(list)

这可能非常简单,但我想不出一个在函数调用自身时连接字符串的好方法。

感谢您的努力:)

最佳答案

您可以使用 product() itertools

中的函数

关于Python:递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4284719/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com