【发布时间】:2011-09-02 06:55:48
【问题描述】:
在 C++ 中,可以这样说:
for (int i = 0; i < 100 && !found; i++) {
if (items[i] == "the one I'm looking for")
found = true;
}
所以你不需要使用“break”语句。
在 Python 中,我猜你需要编写:
found = False
for item in items:
if item == "the one I'm looking for"
found = True
break
我知道我可以编写一个包含相同代码的生成器,这样我就可以隐藏这个中断的东西。但我想知道是否有任何其他方法可以在不使用额外变量或 while 循环的情况下实现相同的事情(具有相同的性能)。
我知道我们可以说:
found = "the one I'm looking for" in items
我只是想了解是否可以在 for 循环中使用多个条件。
谢谢。
【问题讨论】:
-
是的,在 C++ 中可以说您刚才所说的,但我向您保证,它并没有达到您的预期——逗号运算符评估其左侧参数(没有副作用此处),然后计算其右手参数并得出该值。
-
C++ 真的应该是:
for (int i = 0; i < 100 && !found; ++i) -
这取决于如果找不到该项目,您希望发生什么。
-
@Richard 是的,谢谢 :) 我修好了!
-
@Matthieu 我知道,这只是比较 Python 和 C++ 中的 for 循环的一个例子。这不是要在循环中找到一个项目,它可能会更复杂。因此,在列表中查找项目并非如此。
标签: python loops conditional-statements