次のような整数順列を取得できます。
myInt = 123456789
l = itertools.permutations(str(myInt))
[int(''.join(x)) for x in l]
Python で整数順列を取得し、文字列を作成するオーバーヘッドをスキップして、生成されたタプルを結合するより効率的な方法はありますか? タイミングを合わせると、タプル結合プロセスにより、これは list(l)
.
サポート情報を追加
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]