gpt4 book ai didi

python - 如何在 python 中生成所有可能的字符串?

转载 作者:太空狗 更新时间:2023-10-29 20:32:54 25 4
gpt4 key购买 nike

我的目标是能够生成所有可能的长度为 x 的字符串(字母和数字),并能够为每个字符串激活一个代码块。 (就像一个迭代器)唯一的问题是 itertools 中的那些不会复制同一字符串中的字母。例如:

我得到“ABC”“BAC”“CAB”等而不是“AAA”。

有什么建议吗?

最佳答案

使用itertools.product() :

>>> import itertools
>>> map(''.join, itertools.product('ABC', repeat=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']

请注意,创建包含所有组合的列表对于较长的字符串来说效率非常低 - 而是迭代它们:

for string in itertools.imap(''.join, itertools.product('ABC', repeat=3)):
print string

要获取所有字符和数字,请使用 string.uppercase + string.lowercase + string.digits

关于python - 如何在 python 中生成所有可能的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16347583/

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