Re: Good Python style?
- From: Virgil Dupras <hardcoded.software@xxxxxxxxx>
- Date: 31 May 2007 03:45:25 -0700
On May 31, 3:59 am, Andreas Beyer <m...@xxxxxxxxxx> wrote:
Hi,
I found the following quite cryptic code, which basically reads the
first column of some_file into a set.
In Python I am used to seeing much more verbose/explicit code. However,
the example below _may_ actually be faster than the usual "for line in ..."
Do you consider this code good Python style? Or would you recommend to
refrain from such complex single-line code??
Thanks!
Andreas
inp = resource(some_file)
# read first entries of all non-empty lines into a set
some_set = frozenset([line.split()[0] for line in \
filter(None, [ln.strip() for ln in inp])])
I think it would be more readable if you would take the filter out of
the list comprehension, and the list comprehension out of the set.
inp = resource(some_file)
stripped_lines = (ln.strip() for ln in inp)
splitted_lines = (line.split()[0] for line in stripped_lines if line)
some_set = frozenset(splitted_lines)
.
- References:
- Good Python style?
- From: Andreas Beyer
- Good Python style?
- Prev by Date: Re: Good Python style?
- Next by Date: Re: speeding things up with C++
- Previous by thread: Re: Good Python style?
- Next by thread: Re: Good Python style?
- Index(es):
Relevant Pages
|