[Python-Dev] Use for enumerate() (original) (raw)
Guido van Rossum guido@python.org
Sat, 27 Apr 2002 09:26:17 -0400
- Previous message: [Python-Dev] Use for enumerate()
- Next message: [Python-Dev] Use for enumerate()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> Challenge 3: do it faster and with less code.
def getline(filename, lineno): if lineno < 1: return '' f = open(filename) i, line = zip(xrange(lineno), f)[-1] f.close() if i+1 == lineno: return line return ''
Cute, but it builds up a list containing all the lines up to lineno. An implicit part of the exercise (sorry for not making this explicit) was to avoid this -- IOW it should work even if the file is too large to fit in memory (as long as each individual line fits in memory).
--Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Use for enumerate()
- Next message: [Python-Dev] Use for enumerate()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]