Я запустил следующий код в блокноте jupyter (версия 4.4.0 с python 3.6.5).
s='hello'
t=['a','b','c']
a=[x in s for x in t]
if any(a):
print('1')
if any(x in s for x in t):
print('2')
Вывод, который я получаю, - 2
, но я не ожидаю вывода.Почему второе any
оценивается как истинное, а первое - нет?
Запуск этого напрямую в python3 через терминал не приводит к выводу.Я затрудняюсь объяснить, что происходит.Я работал над большим фрагментом кода и обнаружил это несоответствие при отладке.
Ниже приведен скриншот того, как это выглядит в jupyter:
