Python-эквивалент функции LINQ All?

Каков идиоматический способ Python проверить, все ли элементы в коллекции удовлетворяют условию? (Метод .NET All () прекрасно заполняет эту нишу в C #.)

Существует очевидный метод цикла:

all_match = True
for x in stuff:
    if not test(x):
        all_match = False
        break

И понимание списка может помочь, но кажется расточительным:

all_match = len([ False for x in stuff if not test(x) ]) > 0

Должно быть что-то более элегантное ... Что мне не хватает?

17
задан Cameron 27 December 2011 в 04:18
поделиться