----- Original Message -----
> On Dec 7, 6:46 pm, Marco <name.surn...@gmail.com> wrote:
> > Hi all, do you think this code:
> >
> > $ more myscript.py
> > for line in open('data.txt'):
> >      result = sum(int(data) for data in line.split(';'))
> >      print(result)
> >
> > that sums the elements of the lines of this file:
> >
> > $ more data.txt
> > 30;44;99;88
> > 11;17;16;50
> > 33;91;77;15
> > $ python3.3 myscript.py
> > 261
> > 94
> > 216
> >
> > is explicit enough? Do you prefer a clearer solution?
> > Thanks in advance, Marco
> > --
> > Marco
> 
> Interpreting your question as a general question of stylistics, my
> experience is that a 3 line script often becomes a 10 line or a 50
> line script at which point the direct printing will have to be
> modified to create an internal data structure.
> 
> So on the whole I find it expedient to start with that assumption and
> write it as:
> 
> def linesums(file):
>   return [sum(int(i) for i in l.split(';')) for l in open(file, 'r')]

Why change the OP's namings ? 'data' and 'line' were more suitable than 'i' and 
'l'. Of course we're nitpicking, no one will get hurt.

JM


-- IMPORTANT NOTICE: 

The contents of this email and any attachments are confidential and may also be 
privileged. If you are not the intended recipient, please notify the sender 
immediately and do not disclose the contents to any other person, use it for 
any purpose, or store or copy the information in any medium. Thank you.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to