diff --git a/algorithms/arrays/flatten.py b/algorithms/arrays/flatten.py index f19156a09..52f4ec56d 100644 --- a/algorithms/arrays/flatten.py +++ b/algorithms/arrays/flatten.py @@ -11,7 +11,7 @@ def flatten(input_arr, output_arr=None): if output_arr is None: output_arr = [] for ele in input_arr: - if isinstance(ele, Iterable): + if not isinstance(ele, str) and isinstance(ele, Iterable): flatten(ele, output_arr) #tail-recursion else: output_arr.append(ele) #produce the result @@ -25,7 +25,7 @@ def flatten_iter(iterable): returns generator which produces one dimensional output. """ for element in iterable: - if isinstance(element, Iterable): + if not isinstance(element, str) and isinstance(element, Iterable): yield from flatten_iter(element) else: yield element