If you have a nested list (list of lists) in Python and you want to convert it into a single list i.e. flatten a nested list, you can try writing a recursion function.
Example 1: Using recursion function:
def flattern_nested_list(input_nested_list):
flat_list = []
for element in input_nested_list:
if isinstance(element, list):
flat_list.extend(flattern_nested_list(element)) # recursion
else:
flat_list.append(element)
return flat_list
# nested list
my_nested_list = [1,2,3,4,[5,6,7,8],[[9,10],11,12]]
# calling our custom function to get flattern list
my_flat_list = flattern_nested_list(my_nested_list)
# print the result
print(my_flat_list)
Output:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Example 2: Using List Comprehension:
my_nested_list = [
["USA", "Canada", "Mexico"],
["India", "China","Japan"],
["Australia", "Sweden", "France", "UK"]
]
flat_list = [item for sub_list in my_nested_list for item in sub_list]
print(flat_list)
Output:
['USA', 'Canada', 'Mexico', 'India', 'China', 'Japan', 'Australia', 'Sweden', 'France', 'UK']
In the above example flat_list is created using a list comprehension with nested loops. The outer loop iterates through each sub_list in the nested list, and the inner loop iterates through each item in the sub_list, appending it to the flat_list.
References:
https://docs.python.org/3/tutorial/datastructures.html#list-comprehensionsFacing issues? Have Questions? Post them here! I am happy to answer!
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
- How to convert int to ASCII in Python
- How to make use of SQLite Module in Python?
- Split a String into Sub-string and Parse in Python
- Python: Pandas Rename Columns with List Example
- How to run Python file from Mac Terminal
- How to Exit a Loop in Python Code
- Python: How to Plot a Histogram using Matplotlib and data as list
- MD5 Hashing in Python
- Jupyter: Safari Cant Connect to the Server localhost:8888/tree
- Fix: AttributeError: str object has no attribute decode. Did you mean: encode?[Python]
- How to Read a binary File with Python
- How to add two float numbers in Python
- Python: How to install YAML Package
- Python: How to Save Image from URL
- What is Markdown in Jupyter Notebook with Examples
- How to change the Python Default version
- 33: Python Program to send an email vid GMail
- How to comment code in Python
- How to Fix AttributeError in Python
- Fix: error: Jupyter command `jupyter-nbconvert` not found [VSCode]
- How to comment out a block of code in Python
- List of All 35 Reserved Keywords in Python Programming Language 3.11
- Import Other Python Files Examples
- Python: How to add Progress Bar in Console with Examples
- 3 Ways to convert bytes to String in Python
- Special character & not working with SharePoint REST API - SharePoint
- [fix] Execution failed for task :core:compileJava - Could not find tools.jar - Gradle
- [Fix] Java - Exception in thread main java.lang.IllegalThreadStateException - Java
- [Fix] Docker Run unknown shorthand flag: 'r' in -rm - Docker
- How to Set JAVA_HOME PATH to Mac .zshrc profile file - Java
- How to create a Java Project as a Git Repository with IntelliJ - Java
- Open Large File in Notepad++ (Fix: File is too big to be opened by Notepad++) - NotepadPlusPlus
- Right Align Text in Bootstrap framework - Bootstrap