Thanks for the insight, while this code will run once a week and
optimization isn't really a must here, it is
still  a good idea not to leave half-baked code behind me, especially given
that it will be running on this server  for the next  13 years ;)
I have one doubt though . Doesn't using the list comprehension here increase
number of loops per the same string ?
for nnn in [x.split() for x in hhh]:
My vision here is that after doing the comprehension it would look:
for nnn in [1st_field,2nd_field,3rd_filed,...,nth_filed]:
... and therefore would do number of loops equal to number of fields while
we really need just one ?

Thanks
Yuri


On Tue, Apr 12, 2011 at 3:50 PM, D'Arcy J.M. Cain <da...@druid.net> wrote:

> On Tue, 12 Apr 2011 15:06:25 +0300
> Yuri Slobodyanyuk <yuri.slobodyan...@gmail.com> wrote:
> > Thanks everybody , and especially Chris - i used split and it took me 15
> > mins to make it work :)
>
> That's great.  One thing though...
>
> > for nnn in hhh:
> >     if nnn.split()[2] == str(time_tuple[1]).strip(' \t\n\r')   and
> > nnn.split()[4]  == str(time_tuple[0]).strip(' \t\n\r') and
>  nnn.split()[3]
> > == str(time_tuple[2]).strip(' \t\n\r')   :
>
> You are running split() on the same string three times and running
> strip on the same time tuple each time through the loop.  I know that
> you shouldn't optimize before testing for bottlenecks but this is just
> egrecious as well as making it more difficult to read.  Consider this.
>
> year = str(time_tuple[0]) # strip() not really needed here
> mon = str(time_tuple[1])
> day = str(time_tuple[2])
>
> for nnn in [x.split() for x in hhh]:
>    if nnn[2] == mon and nnn[3] = day and nnn[4] = year:
>
> If strip() were needed you could leave off the argument.  The default
> is to strip all whitespace from both ends.  In fact, read up on locales
> to see why it is a good idea to omit the argument.
>
> --
> D'Arcy J.M. Cain <da...@druid.net>         |  Democracy is three wolves
> http://www.druid.net/darcy/                |  and a sheep voting on
> +1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
>



-- 
Taking challenges one by one.
http://yurisk.info
http://ccie-security-blog.com
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to