我能得到整数排列是这样的:更有效的方法来获得整数排列?
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]
我澄清,长于名单(L)' – jumbopap
我花了一些发布timeit结果,以帮助澄清OP的问题的自由 –