python - 在python中生成每个可能的字符串组合
问题描述
我是 python 新手,一直在尝试制作这个算法,但无法弄清楚。我怎样才能列出由 aZ 组成的每个可能的单词,这样它就像
a, b, c, d, e.... aa, ab, ac, ad... aaa, aab, aac...这样做的目的是将每个单词编码为 md5 哈希并重复此操作直到找到具有特定前缀的哈希码。
那么,我怎么能做到这一点呢?预先感谢您的帮助!
解决方案
您可以使用itertools.product
(因为您希望所有字母的笛卡尔积达到给定长度)和列表推导来迭代一个范围直至所需长度(在您的示例中为 4):
from string import ascii_lowercase
from itertools import product
n = 4
[''.join(i) for r in range(1,n) for i in product(ascii_lowercase, repeat=r)]
这使:
['a',
'b',
'c',
'd',
'e',
'f',
'g',
...
'aa',
'ab',
'ac',
'ad',
'ae',
'af',
'ag',
'ah',
'ai',
'aj',
...
'zz',
'aaa',
'aab',
'aac',
'aad',
'aae',
'aaf',
'aag',
...
推荐阅读
- spring-boot - 如何在不启动侦听器容器和未调用模板的情况下终止 Spring-Boot Rabbitmq 应用程序
- corda - Corda:带有死链接的不明确的corda错误代码
- python - 如何使用 AWS lambda 通过 python 将 pdf 文件转换为 .txt
- terminal - 管道文件列表到并行 rsync
- linux - Linux - Eclipse cpp 2019 06 - 打开文件时未处理的事件循环异常
- react-native - Lodash debounce 突然不工作了?
- nativescript-angular - 我如何在 RAD 数据表单中实现价值提供者的属性转换器
- opencart-3 - 如何限制特定类别的 COD
- python - 如何模拟 googleapiclient.discovery.build
- apache-spark - Spark make-distribution with Hadoop 3.1.2