Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to slice a nested list twice?

With a nested list like:

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

I need to be able to slice this list for:

[[1, 2], [4, 5]]

I've been trying:

list(ex_list[:2][:2])

but this isn't working. I'm obviously doing something very wrong but haven't been able to find a solution as using commas doesn't work either for some reason.

like image 558
pablotoucan Avatar asked Sep 16 '25 15:09

pablotoucan


2 Answers

You need to slice the elements separately to the outer list; it's better to do the outer list first to avoid unnecessary inner slices.

[inner[:2] for inner in ex_list[:2]]
like image 132
Sayse Avatar answered Sep 19 '25 03:09

Sayse


You should try using comprehension: Try:

[i[:2] for i in ex_list[:2]]

Code:

ex_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print([i[:2] for i in ex_list[:2]])

Output:

[[1, 2], [4, 5]]