Странное поведение функции any

Рейтинг: 2Ответов: 1Опубликовано: 18.01.2023
hits = [
    [False, False, False],
    [False, False, False],
    [False, False, False],
]

print(any(hits))

Почему возвращает результат True?

Ответы

▲ 5Принят

Потому что any не просматривает значения во вложенных списках. Python любой непустой список интерпретирует как True, поэтому и результатом является True. Если вы хотите просмотреть все значения, то это можно сделать так:

print(any(map(any, hits)))