首页 > 解决方案 > 如何从给定的列表中生成较小的列表,从末尾一个一个地删除元素而无需循环?

问题描述

给定一个自然数的排序列表,例如。[0, 1, 2, 3, 4],我正在寻找一种最佳方式(无循环),使用内置函数生成一个子列表列表,从末尾一个一个地弹出元素,如下所示:

[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]

标签: pythonlistlist-comprehensionchunks

解决方案


不要认为有任何内置函数可以在没有循环的情况下执行此操作。也就是说,放入单行列表理解很简单:

inn = [0, 1, 2, 3, 4]

out = [inn[:i] for i in range(1, len(inn) + 1)]

推荐阅读