"w" == it
проверяет, равна ли w
(строка) вашему итератору, который, очевидно, равен False
, поскольку ваш итератор инкапсулирует последовательность, которая может содержать или не содержать w
.Чтобы проверить существование элемента, использующего равенство, вам нужно будет фактически выполнить итерацию по вашему итератору, а затем проверить, равен ли какой-либо из элементов, обнаруженных во время итерации, вашему элементу поиска, то есть:
print(any(i == "w" for i in it))
, но это то, чтоВ любом случае, print("w" in it)
внутренне.Имейте в виду, что вышеприведенный будет исчерпывать (частично при совпадении, полностью, если элемент не соответствует) ваш итератор, как это делает "w" in it
, потому что вам нужно перебрать итератор, чтобы определить, является ли какой-либо изэлементы соответствуют вашему поисковому элементу, например
t = "cawqv"
it = iter(t)
print("w" in it) # True
print("w" in it) # False - we're pass the `w` point by now
print("q" in it) # False - we already exhausted our iterator