Supongamos que tengo una lista con los elementos X¿Cómo recortar una lista en Python
[4,76,2,8,6,4,3,7,2,1...]
me gustaría los primeros 5 elementos. A menos que tenga menos de 5 elementos.
[4,76,2,8,6]
Cómo hacer eso?
Supongamos que tengo una lista con los elementos X¿Cómo recortar una lista en Python
[4,76,2,8,6,4,3,7,2,1...]
me gustaría los primeros 5 elementos. A menos que tenga menos de 5 elementos.
[4,76,2,8,6]
Cómo hacer eso?
Sólo subíndice con [:5]
indicando que desea (hasta) los primeros 5 elementos.
>>> [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]
También, poner los dos puntos a la derecha del número significa recuento del enésimo elemento en adelante - no hay que olvidar que las listas se basan-0!
>>> x[5:]
[11, 12]
Esto se conoce comúnmente como cortar. – Steve314
Esto crea una * nueva * lista, no recorta la existente. Para recortar en el lugar, use 'del' en un corte; p.ej. 'del listobj [-x:]' eliminará los últimos * x * elementos del objeto list. –
l = [4,76,2,8,6,4,3,7,2,1]
l = l[:5]
¡No llame a su lista de listas en código real! –
@too Por supuesto, esto solo se hace con fines de demostración: D – mgbowen
>>> [1,2,3,4,5,6,7,8,9][:5]
[1, 2, 3, 4, 5]
>>> [1,2,3][:5]
[1, 2, 3]
Para recortar una lista en su lugar sin crear copias de él, utilice 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]
>>>
Ver también: http://stackoverflow.com/questions/509211/good-primer- for-python-slice-nottion –