Python incluye una serie de tipos de datos secuenciales que le permiten almacenar colecciones de datos de manera organizada y eficiente. Los tipos de secuencia básicos son listas, tuplas y objetos de rango.

Este artículo repasa las listas de Python. Le mostraremos cómo crear una lista, dividir y ordenar una lista, agregar o eliminar elementos de una lista, etc.

Las listas son secuencias mutables, lo que significa que se pueden cambiar después de su creación. Las listas son uno de los tipos de datos más utilizados en Python y generalmente se usan para almacenar colecciones de elementos del mismo tipo.

Crear una lista

Las listas generalmente se crean colocando los elementos dentro de un par de corchetes [], separados por comas. Pueden tener cualquier número de elementos, que pueden ser de diferentes tipos. Aquí hay un ejemplo:

L = ['orange', 'white', 'green']

Los corchetes sin elementos entre ellos indican una lista vacía:

L = []

Aunque las listas de Python son generalmente homogéneas, puede tener elementos con tipos de datos mixtos:

L = [1, 'white', 6.5]

También puede declarar listas anidadas donde uno o más elementos también son listas:

L = [1, 2, ['red', 'blue']]

Múltiples elementos pueden tener el mismo valor:

L = [1, 2, 3, 2, 2, 1]

Las listas también se pueden construir utilizando una lista de comprensión, el list()constructor y otras funciones integradas, como sorted().

Acceso a los elementos de la lista

Un elemento de lista puede ser referenciado por su índice. Los índices son números enteros y comienzan desde donde 0está el número de elementos:n-1n

L = ["a", "b", "c", "d"]
      0    1    2    3

En Python, los índices se encierran entre corchetes:

L[index]

Por ejemplo, para acceder al segundo elemento de la lista usaría:

colors = ['orange', 'white', 'green']colors[1]
'white'

Si hace referencia a un índice que no existe, se genera una IndexErrorexcepción:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

Para acceder a los elementos de una lista anidada, utilice varios índices:

L = [1, 2, ["red", "blue"]]L[2][1]
'blue'

Python también le permite acceder a los elementos de la lista utilizando índices negativos. El último elemento se denomina -1, el penúltimo elemento como -2y así sucesivamente:

L = ["a", "b", "c", "d"]
     -4   -3   -2   -1

Por ejemplo, para acceder al segundo elemento desde el final, usaría:

colors = ['orange', 'white', 'green']colors[-2]
'white'

Cortar una lista

En Python, puede dividir una lista usando el siguiente formulario:

L[start:stop:step]
  • El primer argumento especifica el índice en el que comienza la extracción. Cuando se usa un índice negativo, indica un desplazamiento desde el final de la lista. Si se omite este argumento, el corte comienza desde el índice 0.
  • El segundo argumento especifica el índice antes del cual finalizar la extracción; el resultado no incluye el elemento "stop". Cuando se usa un índice negativo, indica un desplazamiento desde el final de la lista. Si este argumento se omite o es mayor que la longitud de la lista, el corte va al final de la lista.
  • El tercer argumento es opcional y especifica el paso del corte. Cuando no se utiliza el argumento "paso", el valor predeterminado es 1. Cuando se utiliza un valor negativo, la división toma los elementos en orden inverso.

El resultado de dividir una lista es una nueva lista que contiene los elementos extraídos y la lista original no se modifica.

Todo lo siguiente es sintaxis legal de Python:

L[:] # copy whole list
L[start:] # slice the list starting from the element with index "start" to the end of the list.
L[:stop] # slice the list starting from the begging up to but not including the element with index "stop".
L[start:stop] #  slice the list starting from the element with index "start" up to but not including the element with index "stop".
stop"
L[::step] #  slice the list with a stride of "step"

A continuación se muestra un ejemplo básico de cómo dividir una lista a partir del elemento con índice 1 hasta el elemento con índice 4, pero sin incluirlo:

fruits = ['Apple', 'Peach', 'Lemon', 'Strawberry', 'Grape']fruits[1:4]
['Peach', 'Lemon', 'Strawberry']

Actualización del valor del elemento

Para cambiar el valor de un elemento específico en una lista, consulte su número de índice:

L[index] = value

Aquí hay un ejemplo que muestra cómo actualizar el valor del último elemento de la lista:

colors = ['orange', 'white', 'green']colors[-1] = "blue"print(colors)
['orange', 'white', 'blue']

Si el elemento con el índice dado existe, el valor se actualiza. De lo contrario, se genera una IndexErrorexcepción:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range

También puede actualizar una porción de una lista con nuevos valores:

colors = ['orange', 'white', 'green']colors[1:3] = ['red']print(colors)
['orange', 'red']

El fragmento de reemplazo puede tener el mismo número de elementos, más pequeños o más grandes que la lista. Esto le permite ampliar o reducir la lista.

Adición de elementos a una lista

El tipo de datos de lista tiene dos métodos que le permiten agregar elementos a unaappend() lista insert().

El append()método agrega un elemento al final de la lista. La sintaxis del append()método es la siguiente:

L.append(element)

"elemento" es el elemento que se agregará a la lista. Puede ser cualquier tipo de datos, incluida una lista. Aquí hay un ejemplo:

colors = ['orange', 'white', 'green']colors.append('red')print(colors)
['orange', 'white', 'green', 'red']

El insert()método anuncia un elemento en una posición específica en una lista y tiene la siguiente sintaxis:

L.insert(index, element)

"índice" es la posición en la que desea insertar el elemento y "elemento" es el elemento que se agregará en la lista. El siguiente ejemplo muestra cómo agregar un elemento a una lista en la primera posición:

colors = ['orange', 'white', 'green']colors.insert(0, 'red')print(colors)
['red', 'orange', 'white', 'green']

El extend()método le permite extender una lista con múltiples elementos. Toma un solo argumento y tiene la siguiente sintaxis:

L.extend(list)

Los elementos de "lista" se añaden al final de "L". Aquí hay un ejemplo:

colors = ['orange', 'white', 'green']colors.extend(['blue', 'black'])print(colors)
['orange', 'white', 'green', 'blue', 'black']

Eliminación de elementos de una lista

El remove()método toma un argumento y elimina el primer elemento con un valor que coincida con el argumento de la lista:

L.remove(element)
colors = ['orange', 'white', 'orange', 'green']colors.remove('orange')print(colors)
['white', 'orange', 'green']

Si el elemento con el valor dado no existe, se genera una ValueErrorexcepción:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

El pop()método toma un argumento y elimina el elemento con el índice que coincide con el argumento de la lista:

L.pop(element)

El argumento es opcional y el valor predeterminado es "-1", que es el último elemento de la lista. El valor de retorno del método es el elemento eliminado. Aquí hay un ejemplo:

colors = ['orange', 'white', 'green']colors.pop(1)print(colors)
'white'
['orange', 'green']

La delpalabra clave en combinación con la notación de división le permite eliminar más de un elemento. Por ejemplo, para eliminar los dos primeros elementos de una lista, usaría lo siguiente:

colors = ['orange', 'white', 'orange', 'green']del colors[0:2]print(colors)
['orange', 'green']

Para eliminar todos los elementos, use el clear()método, que borra la lista y no acepta ningún argumento:

colors = ['orange', 'white', 'green']colors.clear()print(colors)
[]

Encuentra la longitud de una lista

La len()función integrada devuelve el número total de elementos de un objeto.

Para encontrar la longitud de una lista, pásela como argumento a la len()función:

len(L)

Aquí hay un ejemplo:

colors = ['orange', 'white', 'green']num = len(colors)print(num)
3

Iterando a través de una lista

Para iterar a través de todos los elementos de una lista, utilice el for bucle:

colors = ['orange', 'white', 'green']for color in colors:    print(color)
orange
white
green

Si necesitas índices, tienes varios métodos a tu disposición. Las formas más comunes son combinar las funciones range() y len()o usar la enumerate() función integrada.

El siguiente ejemplo muestra cómo recuperar el índice y el valor de cada elemento de la lista:

colors = ['orange', 'white', 'green']for i in range(len(colors)):  print("Index {} : Value {}".format(i, colors[i]))
Index 0 : Value orange
Index 1 : Value white
Index 2 : Value green

En lugar de usar el range(len(...))patrón, puede usar la enumerate()función para recorrer una lista de una manera más pitónica:

colors = ['orange', 'white', 'green']for index, value in enumerate(colors):   print("Index {} : Value {}".format(index, value))
Index 0 : Value orange
Index 1 : Value white
Index 2 : Value green

Comprobar si existe un elemento

Para verificar si un elemento existe en una lista, puede usar los operadores iny :not in

colors = ['orange', 'white', 'green']print('orange' in colors)

La salida será Trueo bien False:

True

Aquí hay otro ejemplo usando la ifdeclaración :

colors = ['orange', 'white', 'green']if 'blue' not in colors:    print('no')else:    print('yes')

La salida será yeso bien no:

no

Métodos de lista de Python

La lista de objetos acepta los siguientes métodos:

  • append(x)- Agrega un elemento al final de la lista.
  • clear()- Elimina todos los elementos de la lista.
  • copy()- Devuelve una copia superficial de la lista.
  • count(x)- Devuelve el número de veces que aparece 'x' en la lista.
  • extend(iterable)- Agrega el 'iterable' al final de la lista.
  • index(x)- Devuelve la posición de la primera aparición de un elemento con valor de 'x'.
  • insert(i, x)- Añade un elemento en una posición dada.
  • pop(i)- Elimina un elemento de una posición determinada.
  • remove()- Elimina el elemento con un valor dado.
  • reverse()Invierte los elementos de la lista .
  • sort() - Ordena los elementos de la lista.

Conclusión

En este artículo, discutimos cómo crear y trabajar con listas en Python. El tipo de datos de lista incluye varios métodos útiles.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.