首页 > 解决方案 > 范围序列,包括最后一对作为生成器

问题描述

我有这样的范围:

  list(zip(range(1,1152,200),range(200,1351,200))) 
  [(1, 200), (201, 400), (401, 600), (601, 800), (801, 1000), (1001, 1200)]

  list(zip(range(1,401,100),range(100,511,100))) 
  [(1, 100), (101, 200), (201, 300), (301, 400)]

如您所见,我缺少最后一对:(1201,1350)和(401,510)

如何添加它的问题,但保持 GENERATOR 即惰性(这里的 list() 用于显示目的)

逻辑是范围序列,其中 N .. M, Step :

 [ (N,N+S), (N+S+1, N+2S), (N+2S+1, N+3S), ... up to (N+xS+1,M) ]

标签: pythonrangegeneratorsequence

解决方案


推荐阅读