python - 计数器变量作为Python中for循环的步长值

标签 python python-3.x loops

<分区>

在 Java 中,我们可以在 for 循环的头部本身中更改其计数器变量。见下文:

for(int i=1; i<1024; i*=2){
    System.out.println(i);
}

我知道下面的代码是错误的。但是有没有一种方法可以在不改变循环内的 i 值的情况下这样写。我喜欢让我的 for 循环简单而简短:-)

for i in range(1, 1024, i*=2):        
    print(i)

最佳答案

您可以定义自己的生成器来为您执行此操作:

def powers_of_two(start, end):
    while start < end:
        yield start
        start *= 2

for i in powers_of_two(1, 1024):
    print(i)

给出:

1
2
4
8
16
32
64
128
256
512

关于python - 计数器变量作为Python中for循环的步长值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45545558/

相关文章:

Python:检查两个列表之间字符串的部分匹配

python - 操作系统错误 : raw write() returned invalid length when using print() in python

javascript - 每次调用一个函数你能返回不同的值吗? - JavaScript

python - 如何在python中循环使用wget进行下载

python - 将 XML 响应转换为 Pandas 数据框

python - Ubuntu 上的属性错误 : 'module' object has no attribute 'PROTOCOL_TLSv1_2' with Python 2. 7.6

python - 使用 OpenCV python 查看原始 10 位 USB 相机

python - Python 中多条目的蒙特卡罗模拟

python - 在嵌套循环中查找 max 的最小索引,键严格位于第 0 个索引

python - 如何遍历目录树并继续循环?