假设我要生成长度为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))