Too Self Centered

sismex01 at hebmex.com sismex01 at hebmex.com
Mon Jan 13 15:48:38 CET 2003


> From: Andres Rosado [mailto:arosado at softhome.net]
> Sent: Friday, January 10, 2003 7:09 PM
> 
> On 09:21 PM 1/7/2003 -0500, the keyboard of 
> python-list-request at python.org 
> emitted:
> >     def __init__(self):
> >           f = open('test1','r')
> >           while f.readline()!=''
> >                 i += 1
> >           self.total = i
> >           f.close()
> 
> Or
> self.total = len[x for x in f.readlines() if x != '']
> 
> If you use list compression.
> --
> Andres Rosado

Or, it can be further reduced to:

  self.total = len([x for x in f if x])

since the expression (x != '') is equivalent to (x),
because an empty string is "False".  Another, if you're
using a python version >= 2.2, you can ommit the .readlines()
call, because files have __iter__ attributes, which are
automagically used by the for statement.


Also, you forgot len's parenthesis. :-)

-gustavo





More information about the Python-list mailing list