划分数据块的代码由以下代码片段提供:
def chunks(lst, n): #n here is 4
"""Yield successive n-sized chunks from lst."""
for i in range(0, len(lst), n):
yield lst[i:i + n]
作为输入,我有一个包含以下整数的列表:
[11, 45, 74, 24, 27, 55, 37, 97, 15, 36, 54, 7, 41, 77, 28, 36, 22, 214, 110, 40, 41, 14, 6, 35, 6, 7, 62, 2, 34, 1, 30, 5, 4, 8, 9, 7, 5, 7, 0, 0, 3, 0, 0, 1, 2]
我希望您能生成4个块。输出如下:
[[11, 45, 74, 24, 27, 55, 37, 97, 15, 36, 54, 7],
[41, 77, 28, 36, 22, 214, 110, 40, 41, 14, 6, 35],
[6, 7, 62, 2, 34, 1, 30, 5, 4, 8, 9, 7],
[5, 7, 0, 0, 3, 0, 0, 1, 2]]
我的问题是输出结果中第二个列表权重比其他的高,这些数字的分布不太公平。 请问有没有办法通过包含整数来获得这些块中数字的公平分布? 我已经手动做了一个示例: 输入: [11,20,2,4,8,13,16,0,1,0,3,6] 输出: [[20,1,0,0],[16,6],[13,8],[11,4,3,2]]