Die Python-Funktion all() prüft, ob alle Elemente eines übergebenen Iterables wahr (truthy) sind. Gibt es mindestens ein Element, das als falsch (falsy) bewertet wird, liefert all() den Wert False zurück. Ist das Iterable leer, gibt die Funktion True zurück. all() eignet sich besonders zur Validierung von Bedingungen in Listen, Tupeln oder anderen iterierbaren Objekten und wird häufig in Kombination mit Generatorausdrücken oder Listen-Komprehension verwendet.

Einführung

Die Funktion all() gehört zu den eingebauten Funktionen in Python und ist ein essenzielles Werkzeug, wenn man prüfen möchte, ob alle Elemente eines Iterables “wahr” sind.

Die Funktion nimmt ein beliebiges Iterable (z.B. Liste, Tuple, Set, Generator, Dict-View) und liefert True, wenn jedes Element truthy ist. Sobald ein Element False liefert, bricht all() die Iteration sofort ab und liefert False.

Syntax

Python Syntax
all(iterable)
Parameter
iterable

Ein Objekt, über das iteriert werden kann.

Rückgabewert

  • True: Wenn alle Elemente truthy sind oder wenn das Iterable leer ist.
  • False: Sobald irgendein Element falsy ist.

Besonderheiten

Kurzschlussverhalten (early exit)

Die Funktion all() stoppt beim ersten falsy Element. Das spart Zeit und Speicher - insbesondere bei großen oder gestreamten Daten.

Python Beispiel
def all_positive(nums):
    return all(n > 0 for n in nums)

Leeres Iterable

Ein leeres Iterable ergibt immer ein True, da es keine Elemente gibt, die eine Bedingung nicht erfüllen könnten.

Python Beispiel
all([]) # True
all(x > 0 for x in []) # True

Iteratoren werden verbraucht

Bei Generatoren/Iteratoren “konsumiert” all() Elemente bis zum ersten Falsy bzw. bis zum Ende. Danach ist der Iterator (teilweise/komplett) aufgebraucht.

Python Beispiel
iterator = (x > 0 for x in [1, 2, 0, 3])
all(iterator)
list(iterator)

Beispiele

Mit Listen

Python Beispiel - Listen
print(all([True, True, True])) # True
print(all([True, False, True])) # False
print(all([1, 2, 3])) # True
print(all([1, 0, 3])) # False

Mit Strings

Python Beispiel - Strings
print(all("Hello")) # True
print(all("")) # True

Mit verschiedenen Datentypen

Python Beispiel - Datentypen
print(all([1, "Text", True, 3.14])) # True
print(all([1, "", True])) # False (leerer String)

Mit Bedingungen

Python Beispiel - Liste von Zahlen
nums = [2, 4, 6, 8, 10]
print(all(x % 2 == 0 for x in nums))
Python Beispiel - String Validierung
passwords = ["Abc123!", "Test456@", "Password789#"]
print(all(len(pwd) >= 8 for pwd in passwords))

None und falsy Werte

Folgende Werte liefern bei Anwendung mit all() ein False.

Python None und falsy Werte
print(all([None])) # False
print(all([0])) # False
print(all([False])) # False
print(all([[]])) # False (leere Liste)
print(all([{}])) # False (leeres Dictionary)
print(all([""])) # False (leerer String)

Praktische Beispiele

Beispiel - Formularvalidierung

Python Beispiel - Formularvalidierung
def validate_form(form_data):
    validations = [
        form_data.get("name") and len(form_data["name"] > 0),
        form_data.get("email") and "@" in form_data["email"],
        form_data.get("age") and form_data["age"] >= 18,
        form_data.get("terms_accepted") == True
    ]

    return all(validations)

form_data = {
    "name": "Max Mustermann",
    "email": "max@example.com",
    "age": 30,
    "terms_accepted": True
}

print(validate_form(form_data))

Beispiel - Datenqualitätsprüfung

Python Beispiel - Datenqualitätsprüfung
def check_data_quality(dataset):
    return all([
        all(row["price"] > 0 for row in dataset),
        all(row["quantity"] >= 0 for row in dataset),
        all(row["id"] is not None for row in dataset)
    ])

products = [
    {"id": 1, "price": 10.99, "quantity": 5},
    {"id": 2, "price": 25.50, "quantity": 0},
    {"id": 3, "price": 7.99, "quantity": 12}
]

print(check_data_quality(products))

Beispiel - Berechtigungsprüfung

Python Beispiel
def has_all_permissions(user_permissions, required_permissions):
    return all(perm in user_permissions for perm in required_permissions)

user_perms = ["read", "write", "delete", "admin"]
required_perms = ["read", "write"]

print(has_all_permissions(user_perms, required_perms))

Beispiel - Komplexes Objekt

Python Beispiel - Objekt
class Product:

    def __init__(self, name, price, in_stock):
        self.name = name
        self.price = price
        self.in_stock = in_stock

    def print_action(self):
        print(f"Do check: {self.name}")

    def is_available(self):
        self.print_action()
        return self.in_stock and self.price > 0

products = [
    Product("Laptop", 999.99, True),
    Product("Mouse", 29.99, True),
    Product("Keyboard", 49.99, True)
]

print(all(p.is_available() for p in products))
Output
Do check: Laptop
Do check: Mouse
Do check: Keyboard
True
/ Weiter

Zurück zu Builtin Functions

Zur Übersicht