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

如何在Python3中将range(0,10)转为[[0,5],[6,10]]格式的嵌套列表?

解决方案

修正后的列表推导式

你可以通过在列表推导式中加入条件判断,区分第一个和第二个子列表的起始值,来得到预期结果:

list_com = [[x, x + 5] if idx == 0 else [x + 1, x + 6] for idx, x in enumerate(range(0, 10, 5))]

执行后结果为:[[0, 5], [6, 10]]

更简洁的实现方式

如果你的需求是固定将range(0,10)分割为[[0,5],[6,10]],可以直接指定起始点生成列表,代码更直观:

list_com = [[s, s + 5] for s in [0, 6]]

这种方式避免了循环中的条件判断,逻辑更清晰。

通用场景扩展

如果需要处理类似的区间分割(比如将range(0, N)按步长step分割,且后续区间起始为前一区间结束+1),可以用以下通用写法:

step = 5
total = 10
# 生成起始点列表
starts = [0] + [step + 1 + i * step for i in range(1, total // step)]
list_com = [[s, s + step] for s in starts]

当total=10、step=5时,同样会得到[[0,5],[6,10]]。


内容的提问来源于stack exchange,提问作者Nawendu Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:06:05