| 863 | |
| 864 | |
| 865 | class ItemsView(MappingView, Set): |
| 866 | |
| 867 | __slots__ = () |
| 868 | |
| 869 | @classmethod |
| 870 | def _from_iterable(cls, it): |
| 871 | return set(it) |
| 872 | |
| 873 | def __contains__(self, item): |
| 874 | key, value = item |
| 875 | try: |
| 876 | v = self._mapping[key] |
| 877 | except KeyError: |
| 878 | return False |
| 879 | else: |
| 880 | return v is value or v == value |
| 881 | |
| 882 | def __iter__(self): |
| 883 | for key in self._mapping: |
| 884 | yield (key, self._mapping[key]) |
| 885 | |
| 886 | |
| 887 | ItemsView.register(dict_items) |
no outgoing calls
searching dependent graphs…