## DEV Community

Kelvin Wangonya

Posted on • Originally published at wangonya.com on

# Analyzing python iterables with all() and any()

`all()` and `any()` are built-in functions that help analyze python iterables.

## `all()`

`all()` returns `True` if all elements of the iterable are true (or if the iterable is empty).

``````Python 3.7.4

>>> x = [2, 3, 5, 1]
>>> all(x)
True

>>> x = [2, 3, 5, 0]
>>> all(x)
False

>>> x = []
>>> all(x)
True
``````

In the second instance, `False` is returned because of the `0` in the list. Note that this would not be the case if the `0` was a string.

``````>>> x = [2, 3, 5, '0']
>>> all(x)
True
``````

For checking dictionary values,

``````>>> x = {'item1': 'pen', 'item2': 'paper', 'item3': 'book'}
>>> all(x.values())
True

>>> x = {'item1': 'pen', 'item2': 'paper', 'item3': False}
>>> all(x.values())
False

>>> x = {}
>>> all(x)
True
``````

## `any()`

`any()` returns `True` if any element of the iterable is true. If the iterable is empty, it returns `False`.

``````>>> x = [2, 3, 5, 1]
>>> any(x)
True

>>> x = [2, 3, 5, 0]
>>> any(x)
True

>>> x = [0, 0, 0, '0']
>>> any(x)
True

>>> x = [0, 0, 0, 0]
>>> any(x)
False

>>> x = []
>>> any(x)
False
``````

It also works the same for dictionaries:

``````>>> x = {'item1': 'pen', 'item2': 'paper', 'item3': 'book'}
>>> any(x)
True

>>> x = {'item1': 'pen', 'item2': 'paper', 'item3': False}
>>> any(x)
True

>>> x = {}
>>> any(x)
False
``````

Nice post! Worth that they will short circuit. Meaning `all` will return as soon as it sees a `False` and `any` will exit as soon as it sees `True`.