PYTHON
Flatten a List of Nested Lists
Convert a list containing multiple sub-lists into a single, flat list in Python using various techniques for easier data processing and manipulation.
nested_list = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
# Method 1: Using a simple for loop (explicit and clear)
flat_list_loop = []
for sublist in nested_list:
for item in sublist:
flat_list_loop.append(item)
print(f"Flattened (Loop): {flat_list_loop}")
# Method 2: Using list comprehension (concise and Pythonic)
flat_list_comprehension = [item for sublist in nested_list for item in sublist]
print(f"Flattened (List Comprehension): {flat_list_comprehension}")
# Method 3: Using itertools.chain (efficient for large lists)
import itertools
flat_list_itertools = list(itertools.chain.from_iterable(nested_list))
print(f"Flattened (itertools.chain): {flat_list_itertools}")
# Example with mixed types if needed (requires more complex logic for arbitrary nesting)
# For this snippet, assume only one level of nesting
How it works: Flattening a list of lists involves converting a multi-dimensional list into a single, one-dimensional list. This is useful for processing all elements sequentially. Python offers several ways to achieve this: a straightforward nested `for` loop, a more concise list comprehension, or for performance-critical scenarios, `itertools.chain.from_iterable()` which creates an efficient iterator that yields elements from each sublist.