我是 python 新手,想要一个函数,它产生一个包含多个整数的列表,即 [1,3,5,7....],就像你可以使用 range 函数一样,即 range(1,21,2) .
但是,我不想设置上限,而是想设置列表应该有多长,所以我会说明我想要在列表中的起点、步骤和整数数量。有这样的功能吗?
不,但制作一个很容易:
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]
Martijn Pieter 的答案适用于整数。如果start
或step
可能是浮点数,您可以使用列表理解:
[start+i*step for i in range(count)]