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
|
# - Raymond Hettinger added a number of speedups and other
|
||||||
# improvements.
|
# 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']
|
__all__ = ['BaseSet', 'Set', 'ImmutableSet']
|
||||||
from itertools import ifilter, ifilterfalse
|
|
||||||
|
|
||||||
class BaseSet(object):
|
class BaseSet(object):
|
||||||
"""Common base class for mutable and immutable sets."""
|
"""Common base class for mutable and immutable sets."""
|
||||||
|
|
|
@ -30,6 +30,8 @@ Extension modules
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- sets.py now runs under Py2.2
|
||||||
|
|
||||||
- random.seed() with no arguments or None uses time.time() as a default
|
- 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
|
seed. Modified to match Py2.2 behavior and use fractional seconds so
|
||||||
that successive runs are more likely to produce different sequences.
|
that successive runs are more likely to produce different sequences.
|
||||||
|
|
Loading…
Reference in New Issue