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

从元组中提取符合升序条件的子列表

提取元组中的连续非降序子列表

给定由代码 E=tuple([random.randint(0,10) for x in range(10)]) 生成的示例元组 (3,4,5,0,0,3,4,2,2,4),需要提取其中连续的非降序子列表(元素仅需满足后一个≥前一个,不允许对原元组排序),目标结果为 [[3,4,5],[0,0,3,4],[2,2,4]]。

实现代码

E = (3,4,5,0,0,3,4,2,2,4)
result = []
if E:
    current_sublist = [E[0]]
    for num in E[1:]:
        if num >= current_sublist[-1]:
            current_sublist.append(num)
        else:
            result.append(current_sublist)
            current_sublist = [num]
    result.append(current_sublist)
print(result)

代码说明

  • 初始化结果列表与当前子列表,从元组首个元素开始构建第一个子列表。
  • 遍历元组后续元素:
    • 若当前元素≥当前子列表的最后一个元素,将其加入当前子列表(延续非降序序列)。
    • 若不满足条件,说明当前非降序序列结束,将其存入结果列表并重置当前子列表。
  • 遍历结束后,将最后一个未存入的非降序子列表加入结果。

运行代码后将直接输出目标结果:[[3,4,5],[0,0,3,4],[2,2,4]]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:25:45