| 1 | 1 | def flatten(iterable): |
| 2 | pass | |
| 2 | result = [] | |
| 3 | ||
| 4 | # Edge Case: Handle None input | |
| 5 | if iterable is None: | |
| 6 | return result | |
| 7 | ||
| 8 | # Edge Case: Handle empty input | |
| 9 | if not iterable: | |
| 10 | return result | |
| 11 | ||
| 12 | for item in iterable: | |
| 13 | # Edge Case: Skip None values | |
| 14 | if item is None: | |
| 15 | continue | |
| 16 | # Edge Case: Handle nested lists | |
| 17 | if isinstance(item, list): | |
| 18 | result.extend(flatten(item)) | |
| 19 | else: | |
| 20 | result.append(item) | |
| 21 | ||
| 22 | return result | |
| 23 | # Handled Edge Cases: None input, empty input, None values in array, nested lists of any depth |