如何随机挑选所有结果,一一(不重复)itertools.permutations(k)
?或者这个:如何构建随机排列生成器?就像是shuffle(permutations(k))
。我正在使用Python 2.6。
Yeah, shuffle(r)
可以使用如果r = list(permutations(k))
,但是这样的列表会占用太多的时间和内存len(k)
提高到10以上。
Thanks.
这给出了列表的第 n 个排列
def perm_given_index(alist, apermindex):
alist = alist[:]
for i in range(len(alist)-1):
apermindex, j = divmod(apermindex, len(alist)-i)
alist[i], alist[i+j] = alist[i+j], alist[i]
return alist
where apermindex
在。。。之间0
and factorial(len(alist))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)