python 一行代码实现对列表的快速等分

本文实现了两种方式,定义如下函数chunk1和chunk2,参数l为要划分的列表,chunk_size为每个划分的大小。可以看到,函数中只有一行代码,即可实现该功能。不过显然方式二会简洁一些。

import math

def chunk1(l,chunk_size):
    return list(map(lambda x:l[x*chunk_size:(x+1)*chunk_size],range(0,math.ceil(len(l)/chunk_size)))


def chunk2(l,chunk_size):
    return [l[x:x + chunk_size] for x in range(0,len(l),chunk_size)]


l=[0,1,2,3,4,5,6,7,8,9]
chunk1(l,3)
[out]:
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]

chunk2(l,4)
[out]:
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9]]

 

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值