Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to trim a list in Python

Tags:

python

list

Suppose I have a list with X elements

[4,76,2,8,6,4,3,7,2,1...] 

I'd like the first 5 elements. Unless it has less than 5 elements.

[4,76,2,8,6] 

How to do that?

like image 950
TIMEX Avatar asked Oct 08 '09 00:10

TIMEX


2 Answers

You just subindex it with [:5] indicating that you want (up to) the first 5 elements.

>>> [1,2,3,4,5,6,7,8][:5] [1, 2, 3, 4, 5] >>> [1,2,3][:5] [1, 2, 3] >>> x = [6,7,8,9,10,11,12] >>> x[:5] [6, 7, 8, 9, 10] 

Also, putting the colon on the right of the number means count from the nth element onwards -- don't forget that lists are 0-based!

>>> x[5:] [11, 12] 
like image 150
Mark Rushakoff Avatar answered Sep 19 '22 16:09

Mark Rushakoff


To trim a list in place without creating copies of it, use del:

>>> t = [1, 2, 3, 4, 5] >>> # delete elements starting from index 4 to the end >>> del t[4:] >>> t [1, 2, 3, 4] >>> # delete elements starting from index 5 to the end >>> # but the list has only 4 elements -- no error >>> del t[5:] >>> t [1, 2, 3, 4] >>>  
like image 32
warvariuc Avatar answered Sep 19 '22 16:09

warvariuc