我是python的新手,想要一个产生包含多个整数的列表的函数,即[1,3,5,7 ....]就像你可以用范围函数那样(即范围) ,2)。
然而,我没有设置上限,而是想设置列表的长度,所以我会在列表中说明我想要的起点,步长和整数。这样的功能是否存在?
答案 0 :(得分:6)
不,但制作一个很容易:
def myrange(start, step, count):
return range(start, start + (step * count), step)
简短演示:
>>> myrange(10, 2, 5)
[10, 12, 14, 16, 18]
>>> myrange(10, -2, 5)
[10, 8, 6, 4, 2]
在python 3中,它将返回一个range
对象,就像常规range()
函数一样:
>>> myrange(10, 2, 5)
range(10, 20, 2)
>>> list(myrange(10, 2, 5))
[10, 12, 14, 16, 18]
答案 1 :(得分:5)
start
或step
可能是花车,您可以使用list comprehension:
[start+i*step for i in range(count)]