范围内由 'step' 定义的每个 bin 中的最后一个元素

Last element in every bin defined by 'step' in range

当我们使用 range(start, stop, step) 时,它 returns 每个由 step 定义的 bin 中的第一个元素。

例如,

list(range(1, 10, 5))

returns

[1, 6]

但是我怎样才能从步骤定义的每个容器中获取最后的元素呢? 我希望得到

[5, 10]

您可以调整 range 函数的值。

正在使用

list(range(5, 11, 5))

你可以得到你想要的结果。

说明

range 函数最多接受 3 个参数:startendstep 并将 return 一个范围对象 (您可以将其转换为列表)。

  • 创建的列表(使用 list(...))将以您在 range 调用中设置为 start 参数的值开始。

  • 参数 end 是列表停止的元素,但 包含在列表中。

  • step是self-explanatory我觉得

您可以简单地交换 range 函数中的值以获得相反的结果,如下所示:

print(list(range(10, 0, -5)))

这个returns:

[10, 5]

您可以 list(range(10, 0, -5))[::-1] 得到 [5, 10]


或者您可以像这样编写自己的生成器函数:

def range_end(start, end, step):
    i = end

    while i > start:
        yield i
        i -= step

print(list(range_end(1, 10, 5)))

这个returns:

[10, 5]

如果你想将其反转,只需执行以下操作:

print(list(range_end(1, 10, 5))[::-1])

这个returns:

[5, 10]