Make sets.py compatible with Py2.2
This commit is contained in:
parent
98cad48171
commit
ee562fc084
20
Lib/sets.py
20
Lib/sets.py
|
@ -54,9 +54,27 @@ what's tested is actually `z in y'.
|
|||
# - Raymond Hettinger added a number of speedups and other
|
||||
# improvements.
|
||||
|
||||
from __future__ import generators
|
||||
try:
|
||||
from itertools import ifilter, ifilterfalse
|
||||
except ImportError:
|
||||
# Code to make the module run under Py2.2
|
||||
def ifilter(predicate, iterable):
|
||||
if predicate is None:
|
||||
def predicate(x):
|
||||
return x
|
||||
for x in iterable:
|
||||
if predicate(x):
|
||||
yield x
|
||||
def ifilterfalse(predicate, iterable):
|
||||
if predicate is None:
|
||||
def predicate(x):
|
||||
return x
|
||||
for x in iterable:
|
||||
if not predicate(x):
|
||||
yield x
|
||||
|
||||
__all__ = ['BaseSet', 'Set', 'ImmutableSet']
|
||||
from itertools import ifilter, ifilterfalse
|
||||
|
||||
class BaseSet(object):
|
||||
"""Common base class for mutable and immutable sets."""
|
||||
|
|
|
@ -30,6 +30,8 @@ Extension modules
|
|||
Library
|
||||
-------
|
||||
|
||||
- sets.py now runs under Py2.2
|
||||
|
||||
- random.seed() with no arguments or None uses time.time() as a default
|
||||
seed. Modified to match Py2.2 behavior and use fractional seconds so
|
||||
that successive runs are more likely to produce different sequences.
|
||||
|
|
Loading…
Reference in New Issue