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

python 如何快速将单个列表拆成多个列表,第1张

一、目标

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

二、实现需求需先了解两个小知识(可略过)
  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函数的功能是将列表的的每个元素取出,放入函数中进行计算,返回对象。

三、具体实现代码
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]]

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/730211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存