Table of Contents
In this example, you will learn to make a flattened list from a nested list in Python.
To understand this example, you should have the knowledge of the following Python programming topics:
1. Example 1: Using List Comprehension
my_list = [[1], [2, 3], [4, 5, 6, 7]] flat_list = [num for sublist in my_list for num in sublist] print(flat_list)
Output
[1, 2, 3, 4, 5, 6, 7]
This is one of the simplest pythonic ways of flattening a list.
- Using list comprehension access the sublist from
my_list, then access each element of the sublist. - Each element num is stored in
flat_list.
Learn more about list comprehension at Python List Comprehension.
2. Example 2: Using Nested for Loops (non pythonic way)
my_list = [[1], [2, 3], [4, 5, 6, 7]]
flat_list = []
for sublist in my_list:
for num in sublist:
flat_list.append(num)
print(flat_list)
Output
[1, 2, 3, 4, 5, 6, 7]
- Create an empty list
flat_list. - Access each element of the sublist using a nested loop and append that element to
flat_list.
3. Example 3: Using itertools package
import itertools my_list = [[1], [2, 3], [4, 5, 6, 7]] flat_list = list(itertools.chain(*my_list)) print(flat_list)
Output
[1, 2, 3, 4, 5, 6, 7]
Using itertools module, we can create a flattened list.
chain()method from itertools module returns each element of each iterable (i.e. sub lists ).list()converts those returned values into a list.
4. Example 4: Using sum()
my_list = [[1], [2, 3], [4, 5, 6, 7]] flat_list = sum(my_list, []) print(flat_list)
Output
[1, 2, 3, 4, 5, 6, 7]
- Provide two arguments to the
sum()method:my_listand an empty list (i.e.[ ]). - sum() combines
my_listand[ ]to produce a flattened list.
5. Example 5: Using lambda and reduce()
from functools import reduce my_list = [[1], [2, 3], [4, 5, 6, 7]] print(reduce(lambda x, y: x+y, my_list))
Output
[1, 2, 3, 4, 5, 6, 7]
In the above example, reduce() applies the lambda function to all the elements of my_list.
Learn more about lambda expressions at Python Anonymous/Lambda Function.
Related posts:
Python bytes()
Python Set difference_update()
Python if...else Statement
Python Program to Print Hello world!
Python String rsplit()
Machine Learning Applications Using Python - Cases studies form Healthcare, Retail, and Finance - Pu...
Python Program to Multiply Two Matrices
Python Tuple index()
Python bytearray()
Python Program to Find the Size (Resolution) of a Image
Python globals()
Python Recursion
Python Matrices and NumPy Arrays
Python Data Analytics with Pandas, NumPy and Matplotlib - Fabio Nelli
Python getattr()
Python Dictionary keys()
Introduction to Machine Learning with Python - Andreas C.Muller & Sarah Guido
Machine Learning Mastery with Python - Understand your data, create accurate models and work project...
Python String isupper()
Python help()
Python super()
Python Program to Print Colored Text to the Terminal
Python List reverse()
Python callable()
Python Numbers, Type Conversion and Mathematics
Python Program to Find HCF or GCD
Python Dictionary pop()
Python Machine Learning Eqution Reference - Sebastian Raschka
Python open()
Python Custom Exceptions
Python String find()
Python Program to Display Fibonacci Sequence Using Recursion