要列出“abcdefghijklmnopqrstuvwxyz0123456789”的所有4个字符组合

2024-09-26 22:11:01 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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)) 

和类似的行,但它们似乎都有一个错误。 任何帮助都将不胜感激,提前谢谢


Tags: importossys字母数字testerlolcomb
2条回答

你应该签出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

尝试使用itertools.product函数。此外,虽然没有必要,但我建议对所有字符使用string

import string
import itertools

chars = string.digits+string.ascii_lowercase
orderings = list(itertools.product(chars, repeat=4))

相关问题 更多 >

    热门问题