题目
将一维数组(列表)均分n份,如果不能均分,填充0补偿
思路及代码
方案一 暴力解决方案
- 伪代码
if 均分:
均分处理;
else:
按照不能均分处理:
**难点:不能均分的时候,如何考虑判断条件**
- 代码部分
l = [1,2,3,4,5,6,7,8,9,10,11,12,13]
m = 5
# 第二种方案,均分后不够时在添加0
new_l_i = [ ]
if len(l)%m == 0:
ll = int(len(l) / m)
# n/m 为整数,直接均分
for i in range(m):
for j in range(ll * i, ll * (i + 1)):
new_l_i.append(l[j])
if j == ll * (i + 1) - 1:
print("new_l_%s=" % i, new_l_i)
continue
new_l_i = []
else:
# n/m 不能整除
ll = int(len(l) / m) + 1 # 每一份元素的个数
for i in range(m):
# 均分为m份,int(len(l)/ll)为列表l的长度除以新列表元素的个数,即新分的个数
if i <