On 16/09/2017 01:58, Steve D'Aprano wrote:
........
If you want to test for None specifically:
if any(v is None for v in values):
print "at least one value was None"
.......
for some reason that seems slow on my machine when compared with
if None in values:
.....
C:\usr\share\robin\pythonDoc>python -m timeit -s"values=(1,2,None)" "any(v is None
for v in values)"
1000000 loops, best of 3: 0.62 usec per loop
C:\usr\share\robin\pythonDoc>python -m timeit -s"values=(None,2,None)" "any(v is
None for v in values)"
1000000 loops, best of 3: 0.504 usec per loop
C:\usr\share\robin\pythonDoc>python -m timeit -s"values=(None,2,None)" "None in
values"
10000000 loops, best of 3: 0.0309 usec per loop
C:\usr\share\robin\pythonDoc>python -m timeit -s"values=(1,2,None)" "None in
values"
10000000 loops, best of 3: 0.097 usec per loop
it also seems a bit less obvious
--
Robin Becker
--
https://mail.python.org/mailman/listinfo/python-list