python - 如何从给定的列表中生成较小的列表,从末尾一个一个地删除元素而无需循环?
问题描述
给定一个自然数的排序列表,例如。[0, 1, 2, 3, 4]
,我正在寻找一种最佳方式(无循环),使用内置函数生成一个子列表列表,从末尾一个一个地弹出元素,如下所示:
[[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
解决方案
不要认为有任何内置函数可以在没有循环的情况下执行此操作。也就是说,放入单行列表理解很简单:
inn = [0, 1, 2, 3, 4]
out = [inn[:i] for i in range(1, len(inn) + 1)]
推荐阅读
- html - 将鼠标悬停在第二个下拉子菜单上时不会显示
- c# - Apache Ignite.NET 中的 IgniteQueue
- scala - 并行转换和持久化 Spark DStream 到几个不同的位置?
- javascript - 合并两个 JSONata 表达式
- ios - iOS 13.1 不接收静默 CKQuerySubscription 通知
- javascript - vuejs - 如何捕获输入名称中的值?
- javascript - Firebase 返回 [object Object]
- javascript - 发送给 DM.player() 的第一个参数无效,该元素已经是一个播放器
- kubernetes - 在 knative 服务定义中更改公共 url
- python - 根据部分标签更改饼图颜色(pandas/matplotlib)