allとany

組み込み関数のall/anyは、and/orを繰り返し行うといった感じです。

# all(iter(x))  <---> x[0] and x[1] and x[2] and ...
# any(iter(x))  <---> x[0] or x[1] or x[2] or ...

ただし演算子and/orのように左辺や右辺の値を返すのではなく、all/anyはTrue/Falseを返します。このためall/anyは条件式として使うことがほとんどです。

all/anyの引数は、可能であればリストではなくイテレータにして渡した方がいいです。イテレータであれば、and/orと同様に偽/真が出てきたところで処理を打ち切ることができるからです。

data = [1, 2, 'spam']

if any([isinstance(e, int) and e > 0 for e in data]):
   print "すべての要素に対して条件式を実行"

if any(isinstance(e, int) and e > 0 for e in data):
   print "1つでも真があれば後の条件式は実行されない"