Am 10.01.2012 12:37 schrieb Νικόλαος Κούρας:

So that means that

for host, hits, agent, date in dataset:

is:

for host, hits, agent, date in  (foo,7,IE6,1/1/11)

and then:

for host, hits, agent, date in  (bar,42,Firefox,2/2/10)

and then:

for host, hits, agent, date in  (baz,4,Chrome,3/3/09)

No.

As said, dataset is the whole result set. For now, you can see it as a list of all rows (which you get if you do l=list(dataset)).

Let's assume you have your data in a list now, which is equivalent concerning the iteration.

Then you have something like

dataset = [
    ('foo',7,'IE6','1/1/11'),
    ('bar',42,'Firefox','2/2/10'),
    ('baz',4,'Chrome','3/3/09')
]


Doing

for row in dataset: print row

is equivalent to

row = ('foo',7,'IE6','1/1/11')
print row

row = ('bar',42,'Firefox','2/2/10')
print row

row = ('baz',4,'Chrome','3/3/09')
print row



Doing

for a, b, c, d in dataset:
    do_funny_stuff(a, d, c, b)

is

a, b, c, d = ('foo',7,'IE6','1/1/11');
# which is the same as
# a = 'foo'; b = 7; c = 'IE6'; d = '1/1/11';
do_funny_stuff(a, d, c, b)

a, b, c, d = ('bar',42,'Firefox','2/2/10')
do_funny_stuff(a, d, c, b)

a, b, c, d = ('baz',4,'Chrome','3/3/09')
do_funny_stuff(a, d, c, b)


The "body" of the for suite is executed once for each element.

You have read already

http://docs.python.org/tutorial/controlflow.html#for-statements
http://docs.python.org/library/stdtypes.html#iterator-types

?


Thomas
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to