効率的に、数字をn個のグループに均等に分配する方法はありますか?Python - リストのリスト内の数字を均等に分割する
私はこの機能を考えましたが、この数字を完全に均等に分けるわけではありません。
def DivideList(total_num, div_num):
div = int(total_num)/int(div_num)
if (div_num < total_num):
div_list = [[div*i, div*(i+1)] for i in range(div_num)]
div_list[div_num-1][1] = total_num
else:
div_list = [[i, i+1] for i in range(total_num)]
return div_list
print DivideList(100, 8)
これもリストの理解で達成できますか?
EDIT:
例:
DivideList(20, 4) >> [[0, 5], [5, 10], [10, 15], [15, 20]]
DivideList(14, 4) >> [[0, 4], [4, 8], [8, 11], [11, 14]]
ご希望の結果を投稿してください – Ajax1234
また、あなたがnumpy.linspaceを使用して考えがありますが –
を達成しようとしているもののサンプル例に言及してください?それはあなたが探しているものに類似したパラメータを使用して、通常の方法で数値を生成することができます。詳細はこちら: https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html – ma3oun