首页 > 解决方案 > 想要列出 'abcdefghijklmnopqrstuvwxyz0123456789' 的所有 4 个字符组合

问题描述

我想列出字母和所有数字的所有可能组合,所以从

aaaa aaab aaac aaad aaae 一直到 z999 zzz9 0009 以及介于两者之间的一切

我已经有了

import sys
import os

tester = open(r"available.txt","a")
lol =[:100]
['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

lol=list(itertools.combinations(4))

for comb in lol:
    tester.write(str(comb)) 

和类似的行,但它们似乎都有错误。任何帮助将不胜感激,在此先感谢。

标签: pythonstringasciipermutationitertools

解决方案


你应该检查 itertools

import itertools
itertools.combinations('abcdefghijklmnopqrstuvwxyz0123456789',4)
[('a', 'b', 'c', 'd'), ('a', 'b', 'c', 'e'), ('a', 'b', 'c', 'f'), ... ]
[ "".join(c) for c in itertools.combinations('abcdefghijklmnopqrstuvwxyz0123456789',4) ]
['abcd', 'abce', 'abcf', 'abcg', 'abch', ...]

文档显示了各种选项之间的区别,具体取决于顺序或重复是否重要

product('ABCD', repeat=2)
AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD

permutations('ABCD', 2)
AB AC AD BA BC BD CA CB CD DA DB DC

combinations('ABCD', 2)
AB AC AD BC BD CD

combinations_with_replacement('ABCD', 2)
AA AB AC AD BB BC BD CC CD DD

推荐阅读