Created
August 1, 2020 06:04
-
-
Save kshirsagarsiddharth/a7e2e7a75740f2b99f00d8e229a54644 to your computer and use it in GitHub Desktop.
flattening the sequence
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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