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