Reman Reman - 17 days ago 11
Python Question

How to create a list of a range with incremental step?

I know that it is possible to create a list of a range of numbers:

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]


but what I want to do is to increment the step on each iteration:

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


p.e. when incremental = +1

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


Is this possible in python?

Answer

This is possible, but not with range:

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