如果if
条件为false,如何遍历整个循环,然后在go to else
语句之后运行?你知道吗
输出为:
No
No
Yes
但我只希望它跳到else语句,如果所有的值都不相等!你知道吗
test_1 = (255, 200, 100)
test_2 = (200, 200, 100)
test_3 = (500, 50, 200)
dict = {"test_1":test_1,
"test_2":test_2,
"test_3":test_3}
for item in dict:
if dict[item] == (500, 50, 200):
print('Yes')
else:
print('No')
所以基本上输出应该是这样的,因为其中一个值是真的。你知道吗
Yes
可以使用
in
运算符:你需要运行循环直到找到匹配的。为此,可以使用^{} 函数,如下所示
我们将生成器表达式传递给
any
函数。生成器表达式从dict中获取每个项并检查它是否等于(500, 50, 200)
。一旦找到匹配项,any
将立即返回True
,其余的迭代甚至不会进行。如果没有与(500, 50, 200)
匹配的项,any
将返回False
,No
将被打印。你知道吗编辑:在聊天中与OP进行了长时间的讨论之后,他实际上想知道哪个项目也匹配。所以,更好的解决方案是使用
for..else
,就像NPE的另一个答案,像这样Python的
for
-else
构造可以用来实现这一点:有关进一步讨论,请参见Why does python use 'else' after for and while loops?
但是,在这个特定的实例中,我根本不会使用显式循环:
相关问题 更多 >
编程相关推荐