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_list
and an empty list (i.e.[ ]
). - sum() combines
my_list
and[ ]
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 Statement, Indentation and Comments
Python Program to Get the Last Element of the List
Python String endswith()
Python Closures
Python Program to Check Leap Year
Python Program to Check Prime Number
Python Program to Check Armstrong Number
Python Program to Reverse a Number
Python String partition()
Python Program to Check If a String Is a Number (Float)
Python Program to Count the Number of Digits Present In a Number
Python Program to Get the Class Name of an Instance
Python Program to Count the Occurrence of an Item in a List
Python Dictionary items()
Python Program to Find the Factorial of a Number
Python String isspace()
Python Type Conversion and Type Casting
Python String rstrip()
Python globals()
Statistical Methods for Machine Learning - Disconver how to Transform data into Knowledge with Pytho...
Python ascii()
Python Program to Differentiate Between del, remove, and pop on a List
Python Program to Multiply Two Matrices
Python String splitlines()
Python Dictionary
Python Deeper Insights into Machine Learning - Sebastian Raschka & David Julian & John Hearty
Python Program to Check Whether a String is Palindrome or Not
Python property()
Python Program to Merge Mails
Python Set remove()
Python Program to Find Hash of File
Node.js vs Python for Backend Development