Indexación de listas de Python

Lista de Python

Las listas de Python son uno de los tipos de datos más versátiles que nos permiten trabajar con varios elementos a la vez. Por ejemplo,

# a list of programming languages
['Python', 'C++', 'JavaScript']

Crear listas de Python

En Python, se crea una lista colocando elementos dentro de corchetes []separado por comas.

# list of integers
my_list = [1, 2, 3]

Una lista puede tener cualquier número de elementos y pueden ser de diferentes tipos (entero, flotante, cadena, etc.).

# empty list
my_list = []

# list with mixed data types
my_list = [1, "Hello", 3.4]

Una lista también puede tener otra lista como elemento. Esto se llama una lista anidada.

# nested list
my_list = ["mouse", [8, 4, 6], ['a']]

Elementos de la lista de acceso

Hay varias formas en las que podemos acceder a los elementos de una lista.

Índice de lista

Podemos usar el operador de índice [] para acceder a un elemento de una lista. En Python, los índices comienzan en 0. Entonces, una lista que tiene 5 elementos tendrá un índice de 0 a 4.

Intentar acceder a índices que no sean estos generará un IndexError. El índice debe ser un número entero. No podemos usar float u otros tipos, esto resultará en TypeError.

Se accede a las listas anidadas mediante la indexación anidada.

my_list = ['p', 'r', 'o', 'b', 'e']

# first item
print(my_list[0])  # p

# third item
print(my_list[2])  # o

# fifth item
print(my_list[4])  # e

# Nested List
n_list = ["Happy", [2, 0, 1, 5]]

# Nested indexing
print(n_list[0][1])

print(n_list[1][3])

# Error! Only integer can be used for indexing
print(my_list[4.0])

Producción

p
o
e
a
5
Traceback (most recent call last):
  File "<string>", line 21, in <module>
TypeError: list indices must be integers or slices, not float

indexación negativa

Python permite la indexación negativa de sus secuencias. El índice de -1 se refiere al último elemento, -2 al penúltimo elemento y así sucesivamente.

# Negative indexing in lists
my_list = ['p','r','o','b','e']

# last item
print(my_list[-1])

# fifth last item
print(my_list[-5])

Producción

e
p
Lista de indexación en Python

Segmentación de listas en Python

Podemos acceder a un rango de elementos en una lista usando el operador de corte :.

# List slicing in Python

my_list = ['p','r','o','g','r','a','m','i','z']

# elements from index 2 to index 4
print(my_list[2:5])

# elements from index 5 to end
print(my_list[5:])

# elements beginning to end
print(my_list[:])

Producción

['o', 'g', 'r']
['a', 'm', 'i', 'z']
['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']

Nota: Cuando cortamos listas, el índice inicial es inclusivo pero el índice final es exclusivo. Por ejemplo, my_list[2: 5] devuelve una lista con elementos en el índice 2, 3 y 4, pero no en el 5.


Agregar/cambiar elementos de la lista

Las listas son mutables, lo que significa que sus elementos se pueden cambiar a diferencia de las cadenas o las tuplas.

Podemos usar el operador de asignación = para cambiar un artículo o un rango de artículos.

# Correcting mistake values in a list
odd = [2, 4, 6, 8]

# change the 1st item    
odd[0] = 1            

print(odd)

# change 2nd to 4th items
odd[1:4] = [3, 5, 7]  

print(odd)                   

Producción

[1, 4, 6, 8]
[1, 3, 5, 7]

Podemos agregar un elemento a una lista usando el append() método o añadir varios elementos utilizando el extend() método.

# Appending and Extending lists in Python
odd = [1, 3, 5]

odd.append(7)

print(odd)

odd.extend([9, 11, 13])

print(odd)

Producción

[1, 3, 5, 7]
[1, 3, 5, 7, 9, 11, 13]

También podemos usar + operador para combinar dos listas. Esto también se llama concatenación.

los * operador repite una lista para el número dado de veces.

# Concatenating and repeating lists
odd = [1, 3, 5]

print(odd + [9, 7, 5])

print(["re"] * 3)

Producción

[1, 3, 5, 9, 7, 5]
['re', 're', 're']

Además, podemos insertar un elemento en la ubicación deseada utilizando el método insert() o inserte varios elementos comprimiéndolos en una porción vacía de una lista.

# Demonstration of list insert() method
odd = [1, 9]
odd.insert(1,3)

print(odd)

odd[2:2] = [5, 7]

print(odd)

Producción

[1, 3, 9]
[1, 3, 5, 7, 9]

Eliminar elementos de la lista

Podemos eliminar uno o más elementos de una lista usando la instrucción Python del. Incluso puede eliminar la lista por completo.

# Deleting list items
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']

# delete one item
del my_list[2]

print(my_list)

# delete multiple items
del my_list[1:5]

print(my_list)

# delete the entire list
del my_list

# Error: List not defined
print(my_list)

Producción

['p', 'r', 'b', 'l', 'e', 'm']
['p', 'm']
Traceback (most recent call last):
  File "<string>", line 18, in <module>
NameError: name 'my_list' is not defined

Nosotros podemos usar remove() para eliminar el artículo dado o pop() para eliminar un elemento en el índice dado.

los pop() El método elimina y devuelve el último elemento si no se proporciona el índice. Esto nos ayuda a implementar listas como pilas (estructura de datos primero en entrar, último en salir).

Y, si tenemos que vaciar toda la lista, podemos usar el clear() método.

my_list = ['p','r','o','b','l','e','m']
my_list.remove('p')

# Output: ['r', 'o', 'b', 'l', 'e', 'm']
print(my_list)

# Output: 'o'
print(my_list.pop(1))

# Output: ['r', 'b', 'l', 'e', 'm']
print(my_list)

# Output: 'm'
print(my_list.pop())

# Output: ['r', 'b', 'l', 'e']
print(my_list)

my_list.clear()

# Output: []
print(my_list)

Producción

['r', 'o', 'b', 'l', 'e', 'm']
o
['r', 'b', 'l', 'e', 'm']
m
['r', 'b', 'l', 'e']
[]

Finalmente, también podemos eliminar elementos en una lista asignando una lista vacía a una porción de elementos.

>>> my_list = ['p','r','o','b','l','e','m']
>>> my_list[2:3] = []
>>> my_list
['p', 'r', 'b', 'l', 'e', 'm']
>>> my_list[2:5] = []
>>> my_list
['p', 'r', 'm']

Métodos de lista de Python

Python tiene muchos métodos de lista útiles que hacen que sea muy fácil trabajar con listas. Estos son algunos de los métodos de lista más utilizados.

MétodosDescripciones
adjuntar()añade un elemento al final de la lista
extender()agrega todos los elementos de una lista a otra lista
insertar()inserta un elemento en el índice definido
retirar()elimina un elemento de la lista
estallido()devuelve y elimina un elemento en el índice dado
claro()elimina todos los elementos de la lista
índice()devuelve el índice del primer elemento coincidente
contar()devuelve el recuento del número de elementos pasados ​​como argumento
clasificar()ordenar elementos en una lista en orden ascendente
reverso()invertir el orden de los elementos de la lista
Copiar()devuelve una copia superficial de la lista
# Example on Python list methods

my_list = [3, 8, 1, 6, 8, 8, 4]

# Add 'a' to the end
my_list.append('a')

# Output: [3, 8, 1, 6, 8, 8, 4, 'a']
print(my_list)

# Index of first occurrence of 8
print(my_list.index(8))   # Output: 1

# Count of 8 in the list
print(my_list.count(8))  # Output: 3 

Comprensión de listas: forma elegante de crear listas

La comprensión de listas es una forma elegante y concisa de crear una nueva lista a partir de una lista existente en Python.

Una lista por comprensión consta de una expresión seguida de una declaración for entre corchetes.

Aquí hay un ejemplo para hacer una lista con cada elemento aumentando el poder de 2.

pow2 = [2 ** x for x in range(10)]
print(pow2)

Producción

[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

Este código es equivalente a:

pow2 = []
for x in range(10):
   pow2.append(2 ** x)

Una lista de comprensión puede contener opcionalmente más for o si las declaraciones. un opcional if puede filtrar elementos para la nueva lista. Aquí hay unos ejemplos.

>>> pow2 = [2 ** x for x in range(10) if x > 5]
>>> pow2
[64, 128, 256, 512]
>>> odd = [x for x in range(20) if x % 2 == 1]
>>> odd
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y for x in ['Python ','C '] for y in ['Language','Programming']]
['Python Language', 'Python Programming', 'C Language', 'C Programming']

Visite Comprensión de listas de Python para obtener más información.


Otras operaciones de lista en Python

Prueba de membresía de lista

Podemos probar si un elemento existe en una lista o no, usando la palabra clave in.

my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']

# Output: True
print('p' in my_list)

# Output: False
print('a' in my_list)

# Output: True
print('c' not in my_list)

Producción

True
False
True

Iterando a través de una lista

Usando un for loop podemos iterar a través de cada elemento en una lista.

for fruit in ['apple','banana','mango']:
    print("I like",fruit)

Producción

I like apple
I like banana
I like mango

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *