On Mon, Jan 9, 2012 at 3:23 PM, Νικόλαος Κούρας <nikos.kou...@gmail.com> wrote: > ================================ > dataset = cursor.fetchall() > > for row in dataset: > print ( "<tr>" ) > > for item in row: > print ( "<td><b><font color=yellow> %s </td>" % item ) > ================================ > > and this: >
Your second snippet makes use of Python's iterable/sequence/tuple-unpacking feature. Here's the relevant part of the Language Reference: http://docs.python.org/reference/simple_stmts.html#assignment-statements By way of example, given: seq = [1,2,3,4] Then: w, x, y, z = seq Results in: w = 1 x = 2 y = 3 z = 4 `seq` has been "unpacked", and its elements have been assigned to variables (namely: `w`, `x`, `y`, and `z`). If the number of variables doesn't match the number of elements, Python will raise an exception. > ================================ > dataset = cursor.fetchall() > > for host, hits, agent, date in dataset: for-loops perform repeated assignments to the loop variable(s), and, like with the simple assignment statement example I gave, also permit the use of unpacking in such assignments. To make the unpacking more explicit, the loop can be equivalently rewritten as: for _row in dataset: host, hits, agent, date = _row # rest same as before... > print ( "<tr>" ) > > for item in host, hits, agent, date: Python's syntax for tuples is based solely on commas and does not require parentheses, though a tuple's repr() always includes the parentheses and programmers often/typically do too. (See http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences .) For example: x = 1, 2 And: x = (1, 2) Both do exactly the same thing: set `x` to a tuple of length 2 containing the elements 1 and 2. The loop thus might be more clearly written as: for item in (host, hits, agent, date): So, what's happening is that Python is iterating over the elements of an anonymous literal tuple; `item` will thus take on the values of `host`, `hits`, `agent`, and `date`, in turn. > print ( "<td><b><font color=white> %s </td>" % item ) > ================================ Cheers, Chris -- http://rebertia.com -- http://mail.python.org/mailman/listinfo/python-list