Gera uma combinação de caracteres usando python [closed]

-1
from itertools import combinations
f = open('snc.csv', 'w')
for comb in combinations(range('1','20'), 5):
    f.write(str(comb))
    f.write('\n')
f.close()

Meus scripts funcionam com números, eu quero trabalhar com caracteres também de a a f, no intervalo de 4, sem repetição, sem embaralhar, assim

A, b, c, d, e

A, b, c, d, f

A, b, c, e, f

E assim, um, sempre começa com a, se a não existe na faixa de 4, então é estatístico com b, a ordem é importante, tanto quanto o script acima

    
por Lynob 22.10.2014 / 00:26

1 resposta

1
from itertools import combinations
f = open('snc.csv', 'w')
for comb in combinations(range(26), 4):
    f.write("%s,%s,%s,%s\n" % tuple([chr(x + ord('a')) for x in comb]))
f.close()

EDIT Este também funcionará e é provavelmente um pouco mais fácil de ler:

from string import ascii_lowercase
from itertools import combinations
f = open('snc.csv', 'w')
for comb in combinations(ascii_lowercase, 4):
    f.write("%s,%s,%s,%s\n" % comb)
f.close()
    
por sмurf 22.10.2014 / 01:24