posso ottenere permutazioni interi in questo modo:Un modo più efficiente per ottenere permute intere?
myInt = 123456789
l = itertools.permutations(str(myInt))
[int(''.join(x)) for x in l]
C'è un modo più efficiente per ottenere interi permutazioni in Python, saltando il sovraccarico di creare una stringa, quindi unendo le tuple generate? A tempo, il processo di unione delle tuple rende questo 3x più lungo di list(l)
.
aggiunto informazioni di supporto
myInt =123456789
def v1(i): #timeit gives 258ms
l = itertools.permutations(str(i))
return [int(''.join(x)) for x in l]
def v2(i): #timeit gives 48ms
l = itertools.permutations(str(i))
return list(l)
def v3(i): #timeit gives 106 ms
l = itertools.permutations(str(i))
return [''.join(x) for x in l]
ho chiarito, più lungo di 'lista (l)' – jumbopap
mi sono permesso di distacco alcuni risultati timeit per contribuire a chiarire il problema di OP –