0
整数のようなアイテムのリストがあるとします。これは、ほぼ等しいサイズのサブリストに分割したいと考えています。それは....Pythonは重み付けに従ってアイテムを分割します
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
numpyのを行うのはかなり簡単だ。しかし、今、私はアイテムが均等に間に分散したくないと仮定しますsubsists。私はそれらをいくつかの重みに従って分配したいとします。
wgtList1 = 20%
wgtList2 = 30%
wgtList3 = 50%
%は、各サブリストに必要な元のリストの項目の割合を示します。明らかに、リストがパーセンテージまたは分数に従って均等に分割されない場合、それは最も近い整数分割になります。
このような重み付けをPythonのリスト分割に適用する最も良い方法は何ですか?