Issue #9214: Fix set operations on KeysView and ItemsView.

This commit is contained in:
Raymond Hettinger 2010-08-22 08:01:58 +00:00
parent 058981b2ec
commit 917bba1f2a
2 changed files with 11 additions and 0 deletions

View File

@ -390,6 +390,10 @@ class MappingView(Sized):
class KeysView(MappingView, Set):
@classmethod
def _from_iterable(self, it):
return set(it)
def __contains__(self, key):
return key in self._mapping
@ -400,6 +404,10 @@ class KeysView(MappingView, Set):
class ItemsView(MappingView, Set):
@classmethod
def _from_iterable(self, it):
return set(it)
def __contains__(self, item):
key, value = item
try:

View File

@ -31,6 +31,9 @@ Core and Builtins
Library
-------
- Issue #9214: Set operations on KeysView or ItemsView in the collections
module now correctly return a set. (Patch by Eli Bendersky.)
- Issue #9617: Signals received during a low-level write operation aren't
ignored by the buffered IO layer anymore.