Skip to content

Commit b5f5094

Browse files
committed
-
1 parent 368489c commit b5f5094

File tree

3 files changed

+9
-16
lines changed

3 files changed

+9
-16
lines changed

source_py3/python_toolbox/nifty_collections/lazy_tuple.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def my_generator():
7676
'''
7777

7878
def __init__(self, iterable, definitely_infinite=False):
79-
was_given_a_sequence = sequence_tools.is_sequence(iterable) and \
79+
was_given_a_sequence = isinstance(iterable, collections.Sequence) and \
8080
not isinstance(iterable, LazyTuple)
8181

8282
self.exhausted = True if was_given_a_sequence else False

source_py3/python_toolbox/sequence_tools.py

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -150,20 +150,10 @@ def partitions(sequence, partition_size=None, n_partitions=None,
150150
return blocks
151151

152152

153-
def is_sequence(thing):
154-
'''Is `thing` a sequence, like `list` or `tuple`?'''
155-
return collections.Sequence.__instancecheck__(thing)
156-
157-
158-
def is_mutable_sequence(thing):
159-
'''Is `thing` a mutable sequence, like `list`?'''
160-
return collections.MutableSequence.__instancecheck__(thing)
161-
162-
163153
def is_immutable_sequence(thing):
164154
'''Is `thing` an immutable sequence, like `tuple`?'''
165-
return collections.Sequence.__instancecheck__(thing) and not \
166-
collections.MutableSequence.__instancecheck__(thing)
155+
return isinstance(thing, collections.Sequence) and not \
156+
isinstance(thing, collections.MutableSequence)
167157

168158

169159
def parse_slice(s):
@@ -251,7 +241,7 @@ def to_tuple(single_or_sequence, item_type=None, item_test=None):
251241
actual_item_test = None
252242

253243
if actual_item_test is None:
254-
if is_sequence(single_or_sequence):
244+
if isinstance(single_or_sequence, collections.Sequence):
255245
return tuple(single_or_sequence)
256246
else:
257247
return (single_or_sequence,)

source_py3/test_python_toolbox/test_cute_iter_tools/test_iterate_overlapping_subsequences.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
'''Testing module for `cute_iter_tools.iterate_overlapping_subsequences`.'''
55

6+
import collections
7+
68
from python_toolbox import gc_tools
79
from python_toolbox import nifty_collections
810
from python_toolbox import cute_testing
@@ -14,8 +16,9 @@
1416
def test_length_2():
1517

1618
# `iterate_overlapping_subsequences` returns an iterator, not a sequence:
17-
assert not sequence_tools.is_sequence(
18-
iterate_overlapping_subsequences(list(range(4)))
19+
assert not isinstance(
20+
iterate_overlapping_subsequences(list(range(4))),
21+
collections.Sequence
1922
)
2023

2124
assert tuple(iterate_overlapping_subsequences(list(range(4)))) == \

0 commit comments

Comments
 (0)