Dar*_*ick 11 python random slice
我已经阅读了Python的答案:将列表切成n个近似等长的分区问题.
这是公认的答案:
def partition(lst, n):
division = len(lst) / float(n)
return [ lst[int(round(division * i)): int(round(division * (i + 1)))] for i in xrange(n) ]
Run Code Online (Sandbox Code Playgroud)
我想知道,为了将项目随机分配给分区而不是增量分配,如何修改这些解决方案.
谢谢,S :-)
完整的2018解决方案(python 3.6):
import random
def partition (list_in, n):
random.shuffle(list_in)
return [list_in[i::n] for i in range(n)]
Run Code Online (Sandbox Code Playgroud)
谨防!这可能会改变您的原始列表