"inhahe" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
"Alex Bryan" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
Okay, so i don't really understand the Yield thing and i know it is
useful. I've read a few things about it but it is all programming jargon
and so basically it is hard for me to understand. So can anyone give me
a description or link me to a site that has a good definition and/or
examples of it? If you could I would really appreciate it.
Really short answer:
def f():
yield 1
yield 2
yield 3
for x in f(): print x,
# should print 1 2 3
def f():
for x in xrange(10):
yield x
for x in f(): print x,
# should print 0 1 2 3 4 5 6 7 8 9
note that this won't work;
def f():
for x in xrange(10):
for y in xrange(10):
yield (x,y)
yield just doesn't work right with multiple levels of loops. i had to
discover that the hard way.
Huh? Works fine:
def f():
... for x in xrange(10):
... for y in xrange(10):
... yield (x,y)
...
for x in f(): print x,
...
(0, 0) (0, 1) (0, 2) (0, 3) (0, 4) (0, 5) (0, 6) (0, 7) (0, 8) (0, 9) (1, 0)
(1,
1) (1, 2) (1, 3) (1, 4) (1, 5) (1, 6) (1, 7) (1, 8) (1, 9) (2, 0) (2, 1)
(2, 2)
(2, 3) (2, 4) (2, 5) (2, 6) (2, 7) (2, 8) (2, 9) (3, 0) (3, 1) (3, 2) (3,
3) (3
, 4) (3, 5) (3, 6) (3, 7) (3, 8) (3, 9) (4, 0) (4, 1) (4, 2) (4, 3) (4, 4)
(4, 5
) (4, 6) (4, 7) (4, 8) (4, 9) (5, 0) (5, 1) (5, 2) (5, 3) (5, 4) (5, 5) (5,
6) (
5, 7) (5, 8) (5, 9) (6, 0) (6, 1) (6, 2) (6, 3) (6, 4) (6, 5) (6, 6) (6, 7)
(6,
8) (6, 9) (7, 0) (7, 1) (7, 2) (7, 3) (7, 4) (7, 5) (7, 6) (7, 7) (7, 8) (7,
9)
(8, 0) (8, 1) (8, 2) (8, 3) (8, 4) (8, 5) (8, 6) (8, 7) (8, 8) (8, 9) (9, 0)
(9,
1) (9, 2) (9, 3) (9, 4) (9, 5) (9, 6) (9, 7) (9, 8) (9, 9)
-Mark
--
http://mail.python.org/mailman/listinfo/python-list