сегодня Im учитель генераторов итератор и т. Д. В других, чтобы сохранить память, я думаю, что вместо этого у вас есть список, сбрасываемый в память, тем лучше, чтобы их оценивали по мере необходимости, поэтому я делаю простой тест, например, ниже генератора вот так.Как использовать генераторы python
def test(*args):
for i in args:
yield i
, когда я использую его, как показано ниже, дает желаемый эффект.
for i in test(range(10)):
print i
с выходом, как так
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
но тогда диапазон будет сбрасывать все количество в функцию, которая противоречит цели, поэтому я попытался xrange, как показано ниже
for i in test(xrange(10)):
print i
я получаю довольно неожиданный вывод, подобный этому
xrange(10)
но смотрит в другую сторону, так как xrange будет оценивать, когда итерация только поэтому я стараюсь заставить его сделать это как так
for i in ye(*xrange(10)):
print i
, а затем я получил такой вывод
o
1
.
.
может кто-то объяснить, то, что происходит в деталях, пожалуйста,
плохой, чтобы знать, почему я иду t каждый номер в то время, когда я использую звезду. И что сделала звезда для xrange. – user1940979
http://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists –