Serhiy Storchaka added the comment:
This is slower.
>>> import timeit
>>> class A(list):
... def __contains__(self, value):
... for v in self:
... if v == value:
... return True
... return False
...
>>> timeit.timeit('500 in x', setup='from __main__ import A; x =
>>> A(range(1000))', number=10000)
1.1222619999971357
>>> class B(list):
... def __contains__(self, value):
... return any(v == value for v in self)
...
>>> timeit.timeit('500 in x', setup='from __main__ import B; x =
>>> B(range(1000))', number=10000)
2.05952100000286
----------
nosy: +serhiy.storchaka
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue22446>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com