Сравнение двух генераторов в Python

Мне интересно об использовании== при сравнении двух генераторов

Например:

x = ['1','2','3','4','5']

gen_1 = (int(ele) for ele in x)
gen_2 = (int(ele) for ele in x)

gen_1 а такжеgen_2 одинаковы для всех практических целей, и все же, когда я сравниваю их:

>>> gen_1 == gen_2
False

Я предполагаю, что== здесь рассматривается какis обычно есть, а так какgen_1 а такжеgen_2 расположены в разных местах памяти:

>>> gen_1
<generator object <genexpr> at 0x01E8BAA8>
>>> gen_2
<generator object <genexpr> at 0x01EEE4B8>

их сравнение оцениваетFalse, Я прав в этом предположении? И любые другие идеи приветствуются.

И, кстати, я знаю, как сравнить два генератора:

>>> all(a == b for a,b in zip(gen_1, gen_2))
True

или даже

>>> list(gen_1) == list(gen_2)
True

Но если есть лучший способ, я хотел бы знать.

Ответы на вопрос(4)

Ваш ответ на вопрос