python - 如何生成给定起点的组合?
问题描述
假设我想生成长度为 2 的字母数字字符的所有组合。就像这样
aa,ab,ac,...,az,aA,aB,...,aZ,a1,a2,...,a9,ba,bb,... so on
,我也想恢复给定一个起点。例如,如果我说bb
程序应该生成之后的组合,bb
那么
bb,bc,bd,.... so on
是否有 python 库可以做到这一点?如果不是,我该怎么做?我正在寻找这样的东西
k = 2 #length of the string in combination
s = 'bb' # starting point
generateCominations(s,k)
任何帮助,将不胜感激。
解决方案
使用combination_with_replacement
试试下面的代码:
from itertools import combinations_with_replacement
import string
def generateCominations(s,k):
alphnum=list(string.ascii_letters + string.digits)
combo=combinations_with_replacement(alphnum,k)
result=[''.join(t) for t in combo]
#print(result)
return result[result.index(s):]
print (generateCominations('bb',2))
输出:
['bb', 'bc', 'bd', 'be', 'bf', 'bg',..., '99']
然而,它是一个组合,所以'ab'
='ba'
所以它返回一个'ab'
或'ba'
两个都不返回
如果你想要两者都使用排列
推荐阅读
- amazon-web-services - Amazon RDS 增强监控
- php - 从 php 获取 AUTO_INCREMENT 值(不工作)
- r - 如何在 R 中返回带有 ID 号的输出
- node.js - NodeJs - Lambda - Enable Cors
- powershell - WinSCP .NET 程序集错误:找不到类型 [WinSCP.EnumerationOptions]
- excel - Excel:如何评估 SUMPRODUCT 中的布尔数组?
- css - 引导工具提示被切断
- python - 如何在两个相同的类之间只获取第一类的数据
- javascript - 无法按预期运行 Javascript
- javascript - Office js/Scriptlab - excel beta api 数据验证列表失败,出现“api not found”错误,但 excel 版本正确