gpt4 book ai didi

python - 如何创建由a和b组成的具有一定长度的单词?

转载 作者:行者123 更新时间:2023-12-01 07:09:10 26 4
gpt4 key购买 nike

我想创建一个由两个字母组成的具有一定长度(例如 1 到 3)的所有单词的列表。所以我的输出是:a、b、aa、ab、ba、bb、......但我正在努力在 python 中递归地实现它。这样做的正确方法是什么?

最佳答案

我在以下代码中结合了 itertools 和递归:

from itertools import product,chain

ab = ['a', 'b']

def rec_prod(x):
if x==1:
return ab
elif x==2:
return list(product(ab, ab))
else:
return [tuple(chain((i[0],), i[1])) for i in product(ab, rec_prod(x-1))]

prod_range = lambda y: list(chain.from_iterable(rec_prod(j) for j in range(1, y+1)))

第一个函数递归计算长度为 x 的所有“单词”,第二个函数返回从长度 1 到长度 y 的所有单词。这有点困惑而且效率不高,但是如果你研究我使用递归的方式和我使用的 itertools 函数(productchain),我相信你会学到从中得到一些有用的东西。

关于python - 如何创建由a和b组成的具有一定长度的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58312189/

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