【发布时间】:2021-10-10 15:30:12
【问题描述】:
我有这段代码可以输出给定单词的所有排列:
def get_permutation(word, base = ""):
if len(word) == 0:
print(base)
for i in range(len(word)):
newBase = base + word[i]
newWord = word[0:i] + word[i + 1:]
get_permutation(newWord, newBase)
我希望将输出保存到此函数结束后返回的列表中。 这可能很容易,但我是 python 的初学者,所以我不知道如何
【问题讨论】:
-
我假设您正在为此寻找通用技术,并且您在这里解决的实际问题并不重要?因为如果你只想要排列,你应该使用标准库中的
itertools.permutations。 -
是的,我想要技术
-
您知道附加到列表吗?并从函数返回值?如果没有,这些都是 Python 非常基础的方面,所以我建议您阅读一本 Python 基础书籍并学习一些初学者教程,这样您就可以掌握对您未来的所有程序有所帮助的基础知识。
-
你明白
return是干什么用的吗?您能否将结果收集到一个非递归算法的列表中?
标签: python list recursion permutation