Hacker News new | ask | show | jobs
by faho 1458 days ago
Or you can implement a binary search in your type's __contains__ and just use `"foo" in c`
1 comments

You can do that too, using the bisect, provided you have the __len__ and __getitem__ implemented:

    class C:
        def __len__(self): ...
        def __getitem__(self, i): ...
        def __contains__(self, x):
            i = bisect.bisect_left(self, x)
            return i < len(self) and self[i] == x
At that point it's just syntactic sugar.