【发布时间】:2012-01-28 06:52:29
【问题描述】:
我正在使用 Python,我想要一个包含许多变量的 if 语句。
如:
if A, B, C, and D >= 2:
print (A, B, C, and D)
我意识到这不是正确的语法,而这正是我要问的问题——对于这种if 语句,正确的 Python 语法是什么?
【问题讨论】:
标签: python
我正在使用 Python,我想要一个包含许多变量的 if 语句。
如:
if A, B, C, and D >= 2:
print (A, B, C, and D)
我意识到这不是正确的语法,而这正是我要问的问题——对于这种if 语句,正确的 Python 语法是什么?
【问题讨论】:
标签: python
另一个想法:
if min(A, B, C, D) >= 2:
print A, B, C, D
【讨论】:
min 意思是:找出括号之间所有数字中的最小值。如果即使最小值大于或等于 2,我们也可以得出结论,所有变量都大于或等于 2
min(...) 不会短路,而all(...) 会
我可能会这样写
v = A, B, C, D
if all(i >= 2 for i in v):
print v
【讨论】:
如果您将十个变量视为这样的组,您可能希望将它们设为列表的元素、字典中的值或对象的属性。例如:
my_dict = {'A': 1, 'B': 2, 'C': 3 }
if all(x > 2 for x in my_dict.values()):
print "They're all more than two!"
【讨论】:
根据您要完成的任务,将列表传递给函数可能会起作用。
def foo(lst):
for i in lst:
if i < 2:
return
print lst
【讨论】:
怎么样:
if A >= 2 and B >= 2 and C >= 2 and D >= 2:
print A, B, C, D
对于一般情况,没有更短的方法可以表明所有变量都必须满足相同的条件 - 除非您愿意将变量放在一个列表中,否则请查看一些其他答案。
【讨论】:
除了她可能要求这个:
if A >= 2 and B >= 2 and C >= 2 and D >= 2:
【讨论】: