Here are two ways to flatten a list of lists in Python:
(1) Using a List Comprehension:
flatten_list = [i for s in list_of_lists for i in s]
(2) Using a For Loop:
flatten_list = []
for s in list_of_lists:
for i in s:
flatten_list.append(i)
Examples
Example 1: Flatten a list of lists in Python using a List Comprehension
Assume that you have the following list of lists in Python that contains numeric data:
list_of_lists = [[11, 22, 33], [44, 55, 66], [77, 88, 99]]
print(list_of_lists)
Here is how the list of lists would look like:
[[11, 22, 33], [44, 55, 66], [77, 88, 99]]
You can then flatten the above list of lists using a List Comprehension:
list_of_lists = [[11, 22, 33], [44, 55, 66], [77, 88, 99]]
flatten_list = [i for s in list_of_lists for i in s]
print(flatten_list)
You’ll now get the flatten list:
[11, 22, 33, 44, 55, 66, 77, 88, 99]
Example 2: Flatten a list of lists in Python using a For Loop
Alternatively, you may use a For Loop to flatten a list of lists in Python:
list_of_lists = [[11, 22, 33], [44, 55, 66], [77, 88, 99]]
flatten_list = []
for s in list_of_lists:
for i in s:
flatten_list.append(i)
print(flatten_list)
You’ll get the same flatten list:
[11, 22, 33, 44, 55, 66, 77, 88, 99]
Note that the same principles apply if your list of lists contains strings:
list_of_lists = [["aa", "bb", "cc"], ["dd", "ee", "ff"], ["gg", "hh", "ii"]]
flatten_list = []
for s in list_of_lists:
for i in s:
flatten_list.append(i)
print(flatten_list)
As you can see, the list is now flatten:
['aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg', 'hh', 'ii']