从排列生成器中随机选择?

2024-06-19

如何随机挑选所有结果,一一(不重复)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(使用前将#替换为@)

从排列生成器中随机选择? 的相关文章

随机推荐