Функция list на генераторе удаляет элементы - PullRequest
0 голосов
/ 20 апреля 2019

Я не понимаю, почему код ниже удаляет все элементы.Как я могу предотвратить это?

from sympy.utilities.iterables import variations
x=variations(["H","T"],3, True)
print(list(x))

t=sum(1 for i in x)
print(list(x))

1 Ответ

1 голос
/ 20 апреля 2019

Генераторы могут быть использованы, что происходит в строке 3, print(list(x)). Один из способов исправить это - сохранить его в виде списка, хотя, возможно, в этом случае есть более подходящее решение.

y = list(x)
print(y)
t = len(y)  # Since y is a list, we can use len
print(y)

Также обратите внимание, что вы можете воспроизвести это поведение с помощью любого генератора. Симпи не относится к делу.

...