我不明白迭代工具.排列(奇怪的输出)



很抱歉打扰你我的愚蠢。。。我找不到itertools.permutation是如何工作的,输出很奇怪!它应该返回所有可能的组合,比如一个为输出定义了长度的bruteforece(a,b,c,…,aa,ab,ac..,aaa,aab,aac…是一个brutefore,以3作为长度的排列示例:aaa,aab,aac…dee,def,deg,…zaa,zab,zac…(,不是吗?

但如果我使用"0123456789",有时会缺少值,比如040613,即使在全球范围内我得到了大量值,也会缺少很多值。那么它是如何工作的呢?

如果你想要规格,我试着以050520的格式获取所有可能的日期,例如(2020年5月2日(。但如果日期不见了。。。

我的代码:

from itertools import permutations #or combinations
def dates(charset, maxlength):
return (''.join(candidate) for candidate in permutations(charset, maxlength))
print(list(dates("0123456789", 6)))

感谢所有愿意帮助我的人,祝你今天愉快!

"0123456789"的排列不包括"040613",因为这个数字需要零标记的2。

例如:

>>> list(permutations("123", 3)) [('1', '2', '3'), ('1', '3', '2'), ('2', '1', '3'), ('2', '3', '1'), ('3', '1', '2'), ('3', '2', '1')] 不包含"333"或"313">

最新更新