python - 如何获得每个可能的组合固定长度字符串
问题描述
我有一个字符串 xxYxx,其中 x 是字母 az,Y 是数字 0-9。我如何获得所有可能的组合。例如:
aa1b ab2r xy9p
有所有有效的可能性。
解决方案
import itertools
from string import ascii_lowercase as alphabet
def all_strings():
numbers = map(str, range(1, 11))
return map(''.join, itertools.product(alphabet, alphabet, numbers, alphabet))
例子:
>>> list(itertools.islice(all_strings(), 100))
['aa1a', 'aa1b', 'aa1c', 'aa1d', 'aa1e', 'aa1f', 'aa1g', 'aa1h', 'aa1i', 'aa1j',
'aa1k', 'aa1l', 'aa1m', 'aa1n', 'aa1o', 'aa1p', 'aa1q', 'aa1r', 'aa1s', 'aa1t',
'aa1u', 'aa1v', 'aa1w', 'aa1x', 'aa1y', 'aa1z', 'aa2a', 'aa2b', 'aa2c', 'aa2d',
'aa2e', 'aa2f', 'aa2g', 'aa2h', 'aa2i', 'aa2j', 'aa2k', 'aa2l', 'aa2m', 'aa2n',
'aa2o', 'aa2p', 'aa2q', 'aa2r', 'aa2s', 'aa2t', 'aa2u', 'aa2v', 'aa2w', 'aa2x',
'aa2y', 'aa2z', 'aa3a', 'aa3b', 'aa3c', 'aa3d', 'aa3e', 'aa3f', 'aa3g', 'aa3h',
'aa3i', 'aa3j', 'aa3k', 'aa3l', 'aa3m', 'aa3n', 'aa3o', 'aa3p', 'aa3q', 'aa3r',
'aa3s', 'aa3t', 'aa3u', 'aa3v', 'aa3w', 'aa3x', 'aa3y', 'aa3z', 'aa4a', 'aa4b',
'aa4c', 'aa4d', 'aa4e', 'aa4f', 'aa4g', 'aa4h', 'aa4i', 'aa4j', 'aa4k', 'aa4l',
'aa4m', 'aa4n', 'aa4o', 'aa4p', 'aa4q', 'aa4r', 'aa4s', 'aa4t', 'aa4u', 'aa4v']
推荐阅读
- express - 如何从 Express 服务器发送带有 html 文件的数据
- python - 如何将一列中的文本注释到seaborn图上
- sitefinity - 如何使缓存无效以在 Sitefinity 中的自定义小部件上显示更新的数据
- mongodb - 过滤和更新 mongodb mongoose 中的嵌入式数组
- python - 如何使用 bzrlib 工具箱中的 '_find_parent_ids_of_revisions' 函数?
- javascript - 有没有更好的方法来获取 Json 文件的内容?
- reactjs - AXIOS 获取请求失败 400 React Native
- python - 为什么我会收到多处理的递归错误?
- javascript - 我想转换 lat 和 lat 以获取网站中地标的名称?
- flutter - 在使用颤振构建的计算器中选择什么输出字段