在Python中压缩多个条件

在Python中压缩多个条件,python,if-statement,python-3.x,Python,If Statement,Python 3.x,假设我有一个数字列表mylist,如果mylist的所有元素都大于10,我想执行一些代码。我可以试试 if mylist[0] > 10 and mylist[1] > 10 and ... : do something 但这显然非常麻烦。我想知道Python是否有一种在if语句中压缩多个条件的方法。我试过了 if mylist[i] > 10 for i in range(len(mylist)): do something 但这返回了一个错误 我正在使用

假设我有一个数字列表
mylist
,如果
mylist
的所有元素都大于10,我想执行一些代码。我可以试试

if mylist[0] > 10 and mylist[1] > 10 and ... :
    do something
但这显然非常麻烦。我想知道Python是否有一种在if语句中压缩多个条件的方法。我试过了

if mylist[i] > 10 for i in range(len(mylist)):
    do something
但这返回了一个错误


我正在使用Python 3.4。

答案是
all

if all(item > 10 for item in mylist):
   do something

你的尝试很接近。您只需要使用
all
函数来检查表达式的结果

if all(mylist[i] > 10 for i in range(len(mylist))):
    do something

顺便考虑一下,直接对列表中的项目进行迭代,而不是对其索引进行迭代。

if all(item > 10 for item in mylist):
像这样做

if all(x > 10 for x in myList):