Python具有固定元素数和固定间隔的范围

Python具有固定元素数和固定间隔的范围,python,python-3.x,range,Python,Python 3.x,Range,我需要在Pyhton中创建一个类似这样的范围: 1 ... 4 ... 7 ... 10 ... 13 ... 16 ... 但我想确定的不是范围的终点,而是元素的数量 例如: range_num_of_elements(1, num_of_elements=4, interval=3) 结果是: [1, 4, 7, 10] 我怎么做 编辑:这个问题 没有回答我的问题。我想指定开始、间隔、数值,上面的问题指定开始、结束、数值。您可以使用: 在哪里 这将给 [1, 4, 7, 10] 或

我需要在Pyhton中创建一个类似这样的
范围

1 ... 4 ... 7 ... 10 ... 13 ... 16 ...
但我想确定的不是范围的终点,而是元素的数量

例如:

range_num_of_elements(1, num_of_elements=4, interval=3)
结果是:

[1, 4, 7, 10]
我怎么做

编辑:这个问题

没有回答我的问题。我想指定开始、间隔、数值,上面的问题指定开始、结束、数值。

您可以使用:

在哪里

这将给

[1, 4, 7, 10]
或者,您可以按照Tom Karzes在评论中的建议,计算
范围
的适当参数:

range(start, start + interval * num_of_elements, interval)

您可以这样定义您的范围:

def my_range(start, num_elements, step):
    return range(start, start+step*num_elements, step)

list(my_range(1, 4, 3))
# [1, 4, 7, 10]
这将具有的所有美好的特点;e、 g:


[3*n+1表示范围(4)中的n)]
您需要
范围(开始,开始+num\u元素*间隔,间隔)
。这将返回一个范围对象(在Python 3中)。如果需要实际列表,只需将其传递到
list()
。借助理解来获得结果的解决方案正在做不必要的工作。您可以使用内置函数
range
list(range(start,num\u elements*interval,interval))
range(start, start + interval * num_of_elements, interval)
def my_range(start, num_elements, step):
    return range(start, start+step*num_elements, step)

list(my_range(1, 4, 3))
# [1, 4, 7, 10]
7 in my_range(1, 4, 3)  # True
8 in my_range(1, 4, 3)  # False