variable assignment in "while" loop

Aahz aahz at
Tue Jul 29 16:21:39 CEST 2003

In article <slrnbicoqq.6gh.sybrenUSE at>,
Sybren Stuvel  <sybrenUSE at> wrote:
>Is it possible to use an assignment in a while-loop? I'd like to do
>something like "loop while there is still something to be read, and if
>there is, put it in this variable". I've been a C programmer since I
>was 14, so a construct like:
>while info = mydbcursor.fetchone():
>	print "Information: "+str(info)
>comes to mind. Unfortunately, this doesn't work. Is there a similar
>construct in python?

Peter usually gives a good answer, but this time there's a better

    def fetch_iter(cursor):
        info = True
        while info:
            info = cursor.fetchone()
            yield info

    for info in fetch_iter(mydbcursor):
        print "Information:" + str(info)

Generally speaking, any time you want to do assignment as part of a
while loop, you really want to convert it a for loop.

BTW, DO NOT USE TABS in Python programs.  You WILL regret it.
Aahz (aahz at           <*>

This is Python.  We don't care much about theory, except where it intersects 
with useful practice.  --Aahz

More information about the Python-list mailing list