How to use a decimal range() step value?

前端 未结 30 2141
醉话见心
醉话见心 2020-11-21 22:34

Is there a way to step between 0 and 1 by 0.1?

I thought I could do it like the following, but it failed:

for i in range(0, 1, 0.1):
    print i
         


        
30条回答
  •  死守一世寂寞
    2020-11-21 23:20

    Here's a solution using itertools:

    import itertools
    
    def seq(start, end, step):
        if step == 0:
            raise ValueError("step must not be 0")
        sample_count = int(abs(end - start) / step)
        return itertools.islice(itertools.count(start, step), sample_count)
    

    Usage Example:

    for i in seq(0, 1, 0.1):
        print(i)
    

提交回复
热议问题