如何使用增量步骤创建范围列表?

时间:2016-11-20 15:48:57

标签: python python-3.x range increment

我知道可以创建一系列数字列表:

list(range(0,20,1))
output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

但我想要做的是在每次迭代时增加步骤:

list(range(0,20,1+incremental value)

体育专业。当incremental = +1

expected output: [0, 1, 3, 6, 10, 15]  

这在python中可行吗?

4 个答案:

答案 0 :(得分:6)

这是可能的,但不适用于range

def range_inc(start, stop, step, inc):
    i = start
    while i < stop:
        yield i
        i += step
        step += inc

答案 1 :(得分:4)

您可以这样做:

def incremental_range(start, stop, step, inc):
    value = start
    while value < stop:
        yield value
        value += step
        step += inc

list(incremental_range(0, 20, 1, 1))
[0, 1, 3, 6, 10, 15]

答案 2 :(得分:2)

尽管已经回答了这个问题,但我发现列表理解使这个超级容易。我需要与OP相同的结果,但要以24为增量,从-7开始到7。

lc = [n*24 for n in range(-7, 8)]

答案 3 :(得分:-1)

我进一步简化了上面的代码。认为这样可以解决问题。

List=list(range(1,20))
a=0
print "0"
for i in List:
    a=a+i
    print a

指定nth范围,为您提供具有特定模式的所有数字。