Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nested list comprehension to flatten nested list

Tags:

python

I'm quite new to Python, and was wondering how I flatten the following nested list using list comprehension, and also use conditional logic.

nested_list = [[1,2,3], [4,5,6], [7,8,9]]

The following returns a nested list, but when I try to flatten the list by removing the inner square brackets I get errors.

odds_evens = [['odd' if n % 2 != 0 else 'even' for n in l] for l in nested_list]

like image 771
HPJM Avatar asked Feb 23 '26 04:02

HPJM


1 Answers

Your syntax was a little wrong. Try below snippet.

nested_list = [[1,2,3], [4,5,6], [7,8,9]]
odds_evens = ['odd' if n % 2 != 0 else 'even' for l in nested_list for n in l]
print(odds_evens)

Output:

['odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd']

Nested List Comprehension

like image 177
Rakesh Avatar answered Feb 25 '26 19:02

Rakesh