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

如何按字节范围分片列表?以总大小1037、分片大小50为例

生成连续分片范围列表的正确实现

你的问题出在两个核心错误:

  1. range 的步长错误使用了 chunk_size+1,导致每个分片的起始值错位,出现不必要的间隙;
  2. 因前面的分片逻辑错误,你误以为最后一段起始值应为1020,实际按1037和50的参数,正确起始值是1000(即50*20)。

正确代码实现

n = 1037
chunk_size = 50

ranges = []
for start in range(0, n, chunk_size):
    end = start + chunk_size
    # 最后一段如果超过总大小,用总大小作为结束值
    if end > n:
        end = n
    ranges.append(f"{start} - {end}")

print(ranges)

输出结果

['0 - 50', '50 - 100', '100 - 150', '150 - 200', '200 - 250', '250 - 300', '300 - 350', '350 - 400', '400 - 450', '450 - 500', '500 - 550', '550 - 600', '600 - 650', '650 - 700', '700 - 750', '750 - 800', '800 - 850', '850 - 900', '900 - 950', '950 - 1000', '1000 - 1037']

如果你的实际需求是最后一段必须从1020开始,需调整总大小或分片参数,但按你给出的1037和50参数,上述结果是逻辑连贯的正确分片列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 06:20:54