gpt4 book ai didi

使用带有排除的最后一个数字的范围的 Pythonic 方法?

转载 作者:太空狗 更新时间:2023-10-29 21:25:48 24 4
gpt4 key购买 nike

如果我想要一个从 0 到 100 的列表,步长为 5,我可以使用 range(0,105,5),但我也可以使用 range(0,101,5).

老实说,这些对我来说都没有意义,因为排除最后一个数字似乎不直观。

除此之外,以五步为单位创建从 0 到 100 的列表的“正确”方法是什么?如果有人有时间,在什么情况下排除最后一个数字会使代码更易于阅读?

最佳答案

您列出的两个选项并不相似。一个是 range(start, stop+step, step),另一个是 range(start, stop+1, step)。他们不必返回相同的东西。他们做的唯一情况是 stop - start 可以被 step 整除。

>>> start, stop, step = 0, 42, 5
>>> range(start, stop+step, step)
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
>>> range(start, stop+1, step)
[0, 5, 10, 15, 20, 25, 30, 35, 40]

那么,您应该使用哪一个?如果您想要 [start, stop](包括),则使用 stop+1 作为范围的结尾。超过 stop+1 的任何内容都会产生与上述类似的副作用。 range(0, 42+5, 5) 结果包括 45,它不在 [0, 42] 范围内。你怎么看?

关于使用带有排除的最后一个数字的范围的 Pythonic 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34709633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com