On 13/02/2014 21:01, Neil Cerutti wrote:
On 2014-02-13, Zachary Ware <zachary.ware+pyl...@gmail.com> wrote:
In a fit of curiosity, I did some timings:

'and'ed indexing:

C:\tmp>py -m timeit -s "key = '<test>'" "key[0] == '<' and key[-1] == '>'"
1000000 loops, best of 3: 0.35 usec per loop

C:\tmp>py -m timeit -s "key = '<test'" "key[0] == '<' and key[-1] == '>'"
1000000 loops, best of 3: 0.398 usec per loop

C:\tmp>py -m timeit -s "key = 'test>'" "key[0] == '<' and key[-1] == '>'"
1000000 loops, best of 3: 0.188 usec per loop

C:\tmp>py -m timeit -s "key = 'test'" "key[0] == '<' and key[-1] == '>'"
10000000 loops, best of 3: 0.211 usec per loop

C:\tmp>py -m timeit -s "key = ''" "key[0] == '<' and key[-1] == '>'"
Traceback (most recent call last):
   File "P:\Python34\lib\timeit.py", line 292, in main
     x = t.timeit(number)
   File "P:\Python34\lib\timeit.py", line 178, in timeit
     timing = self.inner(it, self.timer)
   File "<timeit-src>", line 6, in inner
     key[0] == '<' and key[-1] == '>'
IndexError: string index out of range

The corrected version

key and key[0] == '<' and key[-1] == '>'

probably still wins the Pretty Unimportant Olympics.


Exactly how I'd write it. To me it wins awards for being most boring and most obvious, obviously YMMV or we wouldn't be having this discussion. Or argument. Or contradiction :)

--
My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language.

Mark Lawrence

---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to