如何在给定起点的情况下生成组合?

问题描述 投票:0回答:1

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

任何帮助将不胜感激。

python
1个回答
0
投票

使用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))
© www.soinside.com 2019 - 2024. All rights reserved.