我不明白为什么下面的代码删除所有元素。我该怎样预防呢?
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))
可以消耗发电机,这就是第3行print(list(x))
所发生的情况。解决此问题的一种方法是将其保存为列表,但在这种情况下可能有更合适的解决方案。
y = list(x)
print(y)
t = len(y) # Since y is a list, we can use len
print(y)
另请注意,您可以使用任何生成器重现此行为。 Sympy与此无关。