Python的for循环接受for循环范围内的三个参数.我怎么能操纵第三个参数成为一个因素?
factor_of = 2
li = []
for i in range(first_value, 25000, factor_of):
li.append(i)
Run Code Online (Sandbox Code Playgroud)
现在我意识到每次都会增加2,但是如何将它变为第一个值factor_of每次乘以的位置并存储在i值中?
期望的影响是(假设first_value设置为10)
[10, 20, 40, 80, 160, ...]
Run Code Online (Sandbox Code Playgroud)
是的,我知道这在while循环中更有意义.
使用内置功能无法做到这一点range().但是,您可以定义自己的生成器,如下所示:
def range_factor(start, stop, factor_of):
while start < stop:
yield start
start *= factor_of
li = list(range_factor(10, 25000, 2))
# [10, 20, 40, 80, 160, 320, 640, 1280, 2560, 5120, 10240, 20480]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
421 次 |
| 最近记录: |