Python中是否有函数可以生成给定字母表下所有长度为n的字符串?

11 投票
1 回答
2738 浏览
提问于 2025-04-16 12:40

我需要一个函数 generateAllStrings(n, alphabet) 来做这样的事情:

generateAllStrings(4, ['a','b'])
>>> ["aaaa", "aaab", "aaba", "aabb", "abaa", .... , "bbba", "bbbb"]

换句话说,generateAllStrings(n, alphabet) 应该返回所有可能的长度为 n 的字符串,这些字符串是由字母表中的字符组合而成的。

有没有类似的函数在 itertools 或其他地方?

1 个回答

38
>>> [''.join(i) for i in itertools.product("ab",repeat=4)]
['aaaa', 'aaab', 'aaba', 'aabb', 'abaa', 'abab', 'abba', 'abbb', 'baaa', 'baab', 'baba', 'babb', 'bbaa', 'bbab', 'bbba', 'bbbb']

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答