Skip to main content
 首页 » 编程设计

python之定义序列长度而不是步长

2025年05月04日9kenshinobiy

我是 python 的新手,想要一个函数来生成一个包含多个整数的列表,即 [1,3,5,7....] 就像你可以使用范围函数一样,即 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]