How do I make a flat list out of a list of lists?

28    Asked by NakanoHase in Python , Asked on Apr 17, 2025

Working with nested lists in Python? Learn how to flatten them into one simple list using different approaches like loops, list comprehensions, or built-in libraries.

Answered by RethaWisozk

Flattening a list of lists in Python basically means converting a nested structure like [[1, 2], [3, 4], [5]] into a single flat list like [1, 2, 3, 4, 5]. There are several ways to do this depending on your preference and the complexity of the nested lists.

Here are some common methods:

Using list comprehension (most common and readable):

nested_list = [[1, 2], [3, 4], [5]]
flat_list = [item for sublist in nested_list for item in sublist]
print(flat_list) # Output: [1, 2, 3, 4, 5]

Using itertools.chain:

import itertools
flat_list = list(itertools.chain.from_iterable(nested_list))

Using a simple loop:

flat_list = []
for sublist in nested_list:
    for item in sublist:
        flat_list.append(item)

A few things to keep in mind:

  • These methods assume that the list is only one level deep.
  • If you're working with deeply nested lists (e.g., [[1, [2, 3]], 4]), you'll need a recursive approach or use libraries like more_itertools or numpy.



Your Answer

Interviews

Parent Categories