выражение аргумента any / all (): список или генератор?

в выражении any(not (i % 6) for i in range(1, 10))

определяет ли any() аргумент not (i % 6) for i in range(1, 10) генератор или список?

На данный момент я понимаю, что в:

g = (not (i % 6) for i in range(1, 10))

g - генератор

И в :

l = [not (i % 6) for i in range(1, 10)]

l - это список

Но поскольку мы не вызываем any с [] или (), как в any([not (i % 6) for i in range(1, 10)]) или any((not (i % 6) for i in range(1, 10))), я запутался ...


person martin-h    schedule 30.01.2020    source источник
comment
Спасибо за ссылку ! Если я не ошибаюсь, мой вопрос больше связан с тем, что происходит внутри, когда вы передаете выражение в any (), оценивается ли оно как список как генератор? (И не отвечать на вопрос, выбрать тот или иной)   -  person martin-h    schedule 30.01.2020
comment
Если нет [ ], нет списка   -  person DeepSpace    schedule 30.01.2020
comment
Или stackoverflow.com/questions/4799459/   -  person mkrieger1    schedule 30.01.2020
comment
any и all принимают итерацию. Это может быть список, генератор или любой другой тип, который можно повторять.   -  person Klaus D.    schedule 30.01.2020
comment
Спасибо ! с помощью python.org/dev/peps/pep-0289/#id14 и ответ @DeepSpace, думаю, я понял! (очень плохо, что вопрос был закрыт, думаю, ответ в stackoverflow.com/questions/4799459/ довольно уклончиво, когда 'Если нет [], значит нет списка 'дает очень четкий ответ)   -  person martin-h    schedule 30.01.2020