我想获得长度为 k 的字符串中所有可能的字母组合。我知道这方面有很多帖子,但我有点扭曲 k 大于字符串的长度。
这就是我到目前为止所拥有的,如果 k <= len(string),它很简单并且有效:
string = 'ABCD'
permutations = ["".join(x) for x in itertools.permutations(string, k)]
如果 k = 4,则结果:
['ABCD', 'ABDC', 'ACBD', 'ACDB', 'ADBC', 'ADCB', 'BACD', 'BADC', 'BCAD', 'BCDA',
'BDAC','BDCA', 'CABD', 'CADB', 'CBAD', 'CBDA', 'CDAB', 'CDBA', 'DABC', 'DACB',
'DBAC', 'DBCA', 'DCAB', 'DCBA']
这按预期工作。但是,我想要这四个字母与 k > len(string) 的所有可能组合。
我想要的一个示例答案是:
string = 'AB'
k = 4
result = ['AAA,'ABB','AAB', 'ABA','BBB', 'BAA'.......]
提前致谢。