假设我有一个项目列表,比方说整数,我想分成几乎相同大小的子列表。这对于numpy来说相当容易......
MyList = range(30)
numpy.array_split(MyList, 3)
....或使用自定义代码....
nSubLists = 3
subList =[]
i = 0
for item in MyList:
for i in range(nSubList):
subList[i].append(item)
if i > nSubLists:
i = 0
else:
i = i + 1
但现在假设我不希望这些项目在不变量之间平均分配。假设,我希望它们根据一些加权分发
e.g。
wgtList1 = 20%
wgtList2 = 30%
wgtList3 = 50%
%显示每个子列表中我想要的原始列表中项目的分数。显然,如果列表没有根据百分比或分数均匀分配,那么它可以是最接近的整数分割。
将这样的权重应用于Python中的列表拆分的最佳方法是什么?
答案 0 :(得分:1)
我能想到的程序化解决方案是这样的:
Mammal