On PEP 312: simple implicit lambda
Alex Martelli
aleaxit at yahoo.com
Sun Feb 16 12:23:23 EST 2003
More information about the Python-list mailing list
Sun Feb 16 12:23:23 EST 2003
- Previous message (by thread): On PEP 312: simple implicit lambda
- Next message (by thread): On PEP 312: simple implicit lambda
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Dan Schmidt wrote:
...
> In Python, to code these 'loop and a half' constructs, you have to
> either duplicate some code, as Christos did, or put a conditional
> break halfway through the loop, as I did.
Or (generally best these days) define and use an iterator, e.g.:
def readblocks(fileobject, blocksize=4096):
def readoneblock():
return fileobject.read(blocksize)
return iter(readoneblock, '')
for data in readblocks(file_object):
process(data)
or, use a lambda as iter's first argument to keep the function
you're introducing anonymous, if you prefer that style:
for data in iter(lambda:file_object.read(4096), ''):
process(data)
Alex
- Previous message (by thread): On PEP 312: simple implicit lambda
- Next message (by thread): On PEP 312: simple implicit lambda
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list