python基础--list转换range,的打印结果

  for循环中常见的一个函数是range(),然而有时候直接打印range的时候,得到的结果却不是我们想要的,这个时候,可以用list列表来转换一下range的结果,让我们更清除的打印出range中的元素。

例如:

s=10
d=5
for i in range(s,s+d):
    s=s+1
    print(s)
    print(i)
    print(range(s, s + d, 1))
    print(list(range(s,s+d,1)))

运行结果:

11

10

range(11, 16)

[11, 12, 13, 14, 15]

12

11

range(12, 17)

[12, 13, 14, 15, 16]

13

12

range(13, 18)

[13, 14, 15, 16, 17]

14

13

range(14, 19)

[14, 15, 16, 17, 18]

15

14

range(15, 20)

[15, 16, 17, 18, 19]

这里可以明显的看出两个输出的不同结果,例如结果range(11, 16)和[11, 12, 13, 14, 15],在语句

print(range(s, s + d, 1))中,最后一个参数1是表示range中元素步进为1,如果写2的话,意思就是隔一个元素取一个,于是,修改代码:
s=10
d=5
for i in range(s,s+d):
    s=s+1
    print(s)
    print(i)
    print(range(s, s + d, 1))
    print(list(range(s,s+d,1)))
    print(list(range(s,s+d,2)))

运行结果:

11

10

range(11, 16)

[11, 12, 13, 14, 15]

[11, 13, 15]

12

11

range(12, 17)

[12, 13, 14, 15, 16]

[12, 14, 16]

13

12

range(13, 18)

[13, 14, 15, 16, 17]

[13, 15, 17]

14

13

range(14, 19)

[14, 15, 16, 17, 18]

[14, 16, 18]

15

14

range(15, 20)

[15, 16, 17, 18, 19]

[15, 17, 19]