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

如何将轮廓解包相关数组转换为指定range对象?

实现数组到指定range对象的转换方法

输入数据

  • Istag: [[67, 68], [227, 228]](曲线段拆分标记)
  • spl: [151, 302](曲线段终点索引)
  • wspl: [26, 52](直线段长度)

转换逻辑拆解

先提取输入中的关键参数,再根据每个range的生成规则计算:

  1. S1:从Istag[0][0]倒序到0 → range(67, 0, -1)
  2. S2:从Istag[0][1]正序到spl[0] → range(68, 151, 1)
  3. S3:从spl[0]正序延伸wspl[0]长度 → range(151, 151+26, 1)即range(151,177,1)
  4. S4:从Istag[1][0] + wspl[0]倒序到S3终点+1 → range(227+26, 177+1, -1)即range(253,178,-1)
  5. S5:从Istag[1][1] + wspl[0]正序到spl[1] + wspl[0] → range(228+26, 302+26,1)即range(254,328,1)
  6. S6:从S5终点正序延伸wspl[1]长度 → range(328, 328+52,1)即range(328,380,1)

Python实现代码

# 输入数据
Istag = [[67, 68], [227, 228]]
spl = [151, 302]
wspl = [26, 52]

# 提取核心参数
tag1_start, tag1_end = Istag[0]
tag2_start, tag2_end = Istag[1]
curve1_end, curve2_end = spl
line1_len, line2_len = wspl

# 生成目标range对象
S1 = range(tag1_start, 0, -1)
S2 = range(tag1_end, curve1_end, 1)
S3 = range(curve1_end, curve1_end + line1_len, 1)
S4 = range(tag2_start + line1_len, curve1_end + line1_len + 1, -1)
S5 = range(tag2_end + line1_len, curve2_end + line1_len, 1)
S6 = range(curve2_end + line1_len, curve2_end + line1_len + line2_len, 1)

# 输出验证
print("S1:", S1)
print("S2:", S2)
print("S3:", S3)
print("S4:", S4)
print("S5:", S5)
print("S6:", S6)

运行后会生成你需要的6个range对象,完全匹配指定格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:25:12