Gra*_*ice 15 python for-loop python-3.x
主要来自 Java 编码,想知道 Python 是否可以在其 for 循环中使用条件和不同类型的递增,如 Java 和 C 可以。对不起,如果这似乎是一个简单的问题。
IE:
boolean flag = True
for(int i = 1; i < 20 && flag; i *= 2) {
//Code in here
}
Run Code Online (Sandbox Code Playgroud)
che*_*ner 22
不直接。甲for循环遍历预先生成的序列,而不是生成的序列本身。天真的翻译可能看起来像
flag = True
i = 1
while i < 20:
if not flag:
break
...
if some_condition:
flag = False
i *= 2
Run Code Online (Sandbox Code Playgroud)
但是,您的代码可能会break在您设置flag为 的任何地方执行该语句False,因此您可能会完全摆脱该标志。
i = 1
while i < 20:
...
if some_condition:
break
i *= 2
Run Code Online (Sandbox Code Playgroud)
最后,您可以定义自己的生成器来迭代
def powers_of_two():
i = 1
while True:
yield i
i *= 2
for i in powers_of_two():
...
if some_condition:
break
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1228 次 |
| 最近记录: |