Dominando listas en Python: Guía completa
La estructura de datos más básica en Python es la secuencia. Cada elemento de una secuencia tiene un número - su posición o índice. El primer índice es cero, el segundo uno, y así sucesivamente.
Python tiene seis tipos integrados de secuencias, pero los más comunes son listas y tuplas.
Hay operaciones que funcionan con todos los tipos de secuencia: indexación, rebanado, adición, multiplicación y comprobación de pertenencia. Además, Python tiene funciones integradas para longitud, elemento mayor y menor.
Listas en Python
La lista es el tipo de dato más versátil en Python, escrita como lista de valores separados por comas entre corchetes. Lo importante: los elementos no necesitan ser del mismo tipo.
Crear una lista es tan simple como poner valores separados por comas entre corchetes. Por ejemplo:
lista1 = ['física', 'química', 1997, 2000] lista2 = [1, 2, 3, 4, 5] lista3 = ["a", "b", "c", "d"]
Similar a índices de cadena, los índices de lista comienzan en 0, y las listas pueden rebanarse, concatenarse, etc.
Acceso a valores en listas
Para acceder a valores, usa corchetes para rebanado con índice o índices. Por ejemplo:
Demo en vivo#!/usr/bin/python lista1 = ['física', 'química', 1997, 2000] lista2 = [1, 2, 3, 4, 5, 6, 7] print "lista1[0]: ", lista1[0] print "lista2[1:5]: ", lista2[1:5]
Resultado:
lista1[0]: física lista2[1:5]: [2, 3, 4, 5]
Actualización de listas
Puedes actualizar elementos simples o múltiples dando el rebanado en el lado izquierdo del operador de asignación, y agregar elementos con append(). Por ejemplo:
Demo en vivo#!/usr/bin/python lista = ['física', 'química', 1997, 2000] print "Valor en índice 2: " print lista[2] lista[2] = 2001 print "Nuevo valor en índice 2: " print lista[2]
Nota - append() se discute en la siguiente sección.
Resultado:
Valor en índice 2: 1997 Nuevo valor en índice 2: 2001
Eliminar elementos de lista
Para eliminar un elemento, usa del si sabes exactamente cuál, o remove() si no. Por ejemplo:
Demo en vivo#!/usr/bin/python lista1 = ['física', 'química', 1997, 2000] print lista1 del lista1[2] print "Después de eliminar índice 2: " print lista1
Resultado:
['física', 'química', 1997, 2000] Después de eliminar índice 2: ['física', 'química', 2000]
Nota - remove() se discute en la siguiente sección.
Operaciones básicas de listas
Las listas responden a + y * como cadenas: concatenación y repetición, pero el resultado es una nueva lista, no cadena.
De hecho, las listas responden a todas las operaciones de secuencia generales usadas en cadenas.
| Expresión Python | Resultado | Descripción |
|---|---|---|
| len([1, 2, 3]) | 3 | Longitud |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | Concatenación |
| ['¡Hola!'] * 4 | ['¡Hola!', '¡Hola!', '¡Hola!', '¡Hola!'] | Repetición |
| 3 in [1, 2, 3] | True | Pertenencia |
| for x in [1, 2, 3]: print x, | 1 2 3 | Iteración |
Indexación, rebanado y matrices
Porque las listas son secuencias, indexación y rebanado funcionan igual que en cadenas.
Asumiendo:
L = ['spam', 'Spam', 'SPAM!']
| Expresión Python | Resultado | Descripción |
|---|---|---|
| L[2] | SPAM! | Offsets comienzan en cero |
| L[-2] | Spam | Negativo: cuenta desde la derecha |
| L[1:] | ['Spam', 'SPAM!'] | Rebanado obtiene secciones |
Funciones y métodos integrados de lista
Python incluye las siguientes funciones de lista:
| Nº | Función con descripción |
|---|---|
| 1 | cmp(lista1, lista2) - Compara elementos de ambas listas. |
| 2 | len(lista) - Longitud total de la lista. |
| 3 | max(lista) - Elemento con valor máximo. |
| 4 | min(lista) - Elemento con valor mínimo. |
| 5 | list(seq) - Convierte tupla en lista. |
Python incluye los siguientes métodos de lista:
| Nº | Métodos con descripción |
|---|---|
| 1 | list.append(obj) - Agrega obj al final. |
| 2 | list.count(obj) - Cuenta ocurrencias de obj. |
| 3 | list.extend(seq) - Agrega contenidos de seq. |
| 4 | list.index(obj) - Índice más bajo donde aparece obj. |
| 5 | list.insert(índice, obj) - Inserta obj en índice. |
| 6 | list.pop(obj=lista[-1]) - Elimina y devuelve último u obj. |
| 7 | list.remove(obj) - Elimina obj de la lista. |
| 8 | list.reverse() - Invierte elementos in-place. |
| 9 | list.sort([func]) - Ordena elementos, usa func si se da. |
python
- Dominando tipos de datos en Python: Guía práctica
- Dominando operadores en Python: Guía completa
- Dominando la sentencia pass en Python: Guía práctica
- Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
- Dominando la función range() de Python: desde lo básico a casos avanzados
- Dominando Listas en Python: Append, Sort, Length y List Comprehensions (Guía Práctica)
- Calculando Promedios en Python: Guía Práctica con Múltiples Métodos
- Python list.count(): Guía Experta con Ejemplos Prácticos
- Cómo Eliminar Elementos Duplicados de una Lista en Python: 8 Métodos Efectivos
- Cómo Eliminar Ítems de una Lista en Python: remove(), pop(), clear() y del
- Python list.index(): Cómo Encontrar Posiciones de Elementos con Ejemplos Prácticos