python 面试题 均分一维数组(列表)

这篇博客介绍了三种将一维数组(列表)均分的方法,包括暴力解决方案、先填充再均分以及使用迭代器的方法。对于不能均分的情况,通过填充0来补偿。详细代码和解释帮助理解每种方案的实现过程。
摘要由CSDN通过智能技术生成

题目

将一维数组(列表)均分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 < 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值