为了账号安全,请及时绑定邮箱和手机立即绑定

查找所有可能的固定大小字符串 Python

查找所有可能的固定大小字符串 Python

潇湘沐 2021-09-14 21:00:45
问题:我想从 36 个字符中生成所有可能的组合,这些字符由固定长度字符串中的字母和数字组成。假设术语“固定长度”是我的字符串长度的上限。下面列出了其中一些组合:abc..z01..9...aaaaaaaaaaab..9999999999999999999899999999999999999999 // end of the list我不想将它们存储在内存或磁盘中,因为我对它们进行了计算,如果它们不符合目标结果,那么我就不再需要它了。方法:1. 第一次尝试,我选择递归来创建字符串。但是使用内存实在是太糟糕了。2. 对于第二次尝试,我使用 DFS 算法,因为它在使用内存方面几乎是最佳的,因为它大约为O(bm)。但从时间上看,非常耗时。有没有其他方法可以更优化地做到这一点?更新这里是长度为 2 和 3 字符的可能输出:abcaaabacbabbbccacbcc
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

您可以为此使用itertools.product。它返回一个固定长度序列的生成器。


当您首先按长度然后按字典顺序排列字符串时,您可以使用这样的东西


import itertools


for l in range(1, 5):

    for seq in itertools.product("abc", repeat=l):

        print("".join(seq))


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号