python 如何快速将单个列表拆成多个列表

一、目标

用尽量简短的代码将单个列表拆成多个列表

二、实现需求需先了解两个小知识(可略过)
  1. math模块的ceil(x)函数
    ceil(x)返回取大于或者等于x的最小整数。
>>> from math import ceil
>>> num = ceil(5 / 2)
>>> num
3
  1. map函数
    是指根据提供的函数对指定序列做映射。
    语法:map(function, iterable, …)
>>> lst = list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))
>>> lst
[1, 4, 9, 16, 25]

上例map函数的功能是将列表的的每个元素取出,放入函数中进行计算,返回<map object at 0x000001F96BF536C8>对象。

三、具体实现代码
from math import ceil
lst = [1, 2, 3, 4, 5]
def test(lst, num):
    return list(map(lambda x: lst[x * num : x * num + num], list(range(0, ceil(len(lst) / num)))))


print(test(lst, 2))

运行结果

[[1, 2], [3, 4], [5]]
  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值