Skip to content

Instantly share code, notes, and snippets.

@kshirsagarsiddharth
Created August 1, 2020 06:04
Show Gist options
  • Select an option

  • Save kshirsagarsiddharth/a7e2e7a75740f2b99f00d8e229a54644 to your computer and use it in GitHub Desktop.

Select an option

Save kshirsagarsiddharth/a7e2e7a75740f2b99f00d8e229a54644 to your computer and use it in GitHub Desktop.
flattening the sequence
from collections.abc import Iterable
def flatten(items, ignore_types = (str,bytes)):
for x in items:
if isinstance(x,Iterable) and not isinstance(x,ignore_types):
yield from flatten(x)
else:
yield x
items = [1, 2, [3, 4, [5, 6], 7], 8]
# Produces 1 2 3 4 5 6 7 8
for x in flatten(items):
print(x)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment