1

我是 python 新手,想要一个函数,它产生一个包含多个整数的列表,即 [1,3,5,7....],就像你可以使用 range 函数一样,即 range(1,21,2) .

但是,我不想设置上限,而是想设置列表应该有多长,所以我会说明我想要在列表中的起点、步骤和整数数量。有这样的功能吗?

4

2 回答 2

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]
于 2013-01-08T21:33:06.423 回答
5

Martijn Pieter 的答案适用于整数。如果startstep可能是浮点数,您可以使用列表理解

[start+i*step for i in range(count)]
于 2013-01-08T21:35:39.233 回答