压缩Python中的多个条件

Ale*_*wer 2 python if-statement python-3.x

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

if mylist[0] > 10 and mylist[1] > 10 and ... :
    do something
Run Code Online (Sandbox Code Playgroud)

但这显然非常麻烦.我想知道Python是否有一种在if语句中压缩多个条件的方法.我试过了

if mylist[i] > 10 for i in range(len(mylist)):
    do something
Run Code Online (Sandbox Code Playgroud)

但是这返回了一个错误.

我使用的是Python 3.4.

Kev*_*vin 7

你的尝试非常接近.您只需要该all函数来检查表达式的结果.

if all(mylist[i] > 10 for i in range(len(mylist))):
    do something
Run Code Online (Sandbox Code Playgroud)

顺便提一下,考虑直接迭代列表的项目,而不是其索引.

if all(item > 10 for item in mylist):
Run Code Online (Sandbox Code Playgroud)