You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python 3.10一行列表推导式生成并打印递增子序列

用Python 3.10一行列表推导式生成递增子序列列表

假设我们有一个从1到n的列表[1, 2, 3, ..., n],可以通过一行列表推导式生成两种目标序列:

一、生成到[1, 2, ..., n-1]的子序列列表

如果已经有原列表(比如original_list = list(range(1, n+1))),可以这样写:

result = [original_list[:i] for i in range(1, len(original_list))]

说明:

  • len(original_list)等于n,range(1, len(original_list))会生成1到n-1的整数序列;
  • original_list[:i]取原列表的前i个元素,依次得到[1]、[1,2]……直到[1,2,...,n-1]。

如果不想预先定义原列表,直接基于数值n生成,可简化为:

result = [list(range(1, i)) for i in range(2, n+1)]

二、生成到[1, 2, ..., n]的子序列列表

基于原列表的写法只需调整range的结束值:

result = [original_list[:i] for i in range(1, len(original_list)+1)]

说明:

  • range(1, len(original_list)+1)生成1到n的整数序列;
  • 取前i个元素后,最终会包含完整的[1,2,...,n]。

直接基于数值n的简化写法:

result = [list(range(1, i+1)) for i in range(1, n+1)]

内容的提问来源于stack exchange,提问作者Pedro Gonçalves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:20:32