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]
原文地址:https://www.cnblogs.com/utsuro/p/8658656.html
时间: 2024-10-06 11:36:46