Estructuras de datos en Python: Listas y Tuplas

  1. Listas

Tipo de lista: list

1.1. Características de las listas

  • Cada elemento de una lista es mutable
  • Los elementos de una lista están ordenados, es decir, cada elemento tiene una posición específica
  • Una lista puede contener cualquier objeto de Python

1.2. Creación de listas

Para crear una lista, se utilizan corchetes que encierran varios datos, separados por comas.

Creación de una lista vacía

mi_lista = []


1.3. Métodos comunes de las listas

1.3.1 mi_lista.append(elemento)

Añade elemento al final de mi_lista, sin afectar la posición de los elementos existentes ni la dirección de memoria inicial de la lista.

numeros = [10, 20, 30, 40]
numeros.append(50)
print(numeros)

Salida:
[10, 20, 30, 40, 50]


1.3.2 mi_lista.extend(otra_lista)

Agrega todos los elementos de otra_lista al final de mi_lista.

datos = [1, 2, 3, 4]
valores_nuevos = [5, 6, 7]
datos.extend(valores_nuevos)
print(datos)

Salida:
[1, 2, 3, 4, 5, 6, 7]


1.3.3 mi_lista.insert(posicion, elemento)

Inserta elemento en la posicion especificada de mi_lista, desplazando los elementos siguientes hacia adelante.

letras = ['a', 'b', 'c', 'd']
letras.insert(0, 'z')
print(letras)

Salida:
['z', 'a', 'b', 'c', 'd']


1.3.4 mi_lista.pop([indice])

Elimina y devuelve el elemento en el indice especificado de mi_lista. Si no se especifica indice, elimina y devuelve el último elemento.

colores = ['rojo', 'verde', 'azul', 'amarillo']
color_eliminado = colores.pop(0)
print(colores)
print(color_eliminado)

Salida:
['verde', 'azul', 'amarillo']
rojo


1.3.5 mi_lista.remove(valor)

Elimina la primera ocurrencia de valor en mi_lista. Si el valor no existe, lanza una excepción.

numeros = [2, 4, 6, 8, 6]
numeros.remove(6)
print(numeros)

Salida:
[2, 4, 8, 6]


1.3.6 mi_lista.contar(valor)

Devuelve el número de veces que valor aparece en mi_lista.

puntuaciones = [85, 92, 78, 85, 90, 85]
frecuencia = puntuaciones.count(85)
print(frecuencia)

Salida:
3


1.3.7 mi_lista.ordenar(clave=None, inverso=False)

Ordena los elementos de mi_lista in-place. clave especifica una función de ordenamiento personalizada, y inverso determina si es orden descendente.

edades = [25, 18, 30, 22, 19]
edades.sort()
print(edades)

Salida:
[18, 19, 22, 25, 30]


1.3.8 mi_lista.invertir()

Invierte el orden de los elementos en mi_lista in-place.

secuencia = [1, 2, 3, 4, 5]
secuencia.reverse()
print(secuencia)

Salida:
[5, 4, 3, 2, 1]


1.3.9 mi_lista.limpiar()

Elimina todos los elementos de mi_lista.

1.3.10 mi_lista.copiar()

Crea una copia superficial de mi_lista.

original = [1, 2, 3, 4, 5]
copia = original.copy()
original[0] = 99
print(original)
print(copia)

Salida:
[99, 2, 3, 4, 5]
[1, 2, 3, 4, 5]


1.3.11 len(mi_lista)

Devuelve el número de elementos en mi_lista.

1.3.12 del mi_lista[indice]

Elimina el elemento en la posición indice de mi_lista.

frutas = ['manzana', 'banana', 'naranja', 'uva']
del frutas[2]
print(frutas)

Salida:
['manzana', 'banana', 'uva']


1.4. Acceder a valores de una lista

1.4.1 Por índice

datos = [100, 200, 300, 400]
print(datos[0])

Salida:
100


1.4.2 Por iteración

valores = [10, 20, 30, 40, 50]
for elemento in valores:
    print(elemento)

Salida:
10
20
30
40
50


1.4.3 Por rebnaado (slicing)

El rebanado utiliza dos índices separados por dos puntos, donde el primero es el índice inicial y el segundo es el índice final (excluido).

numeros = [0, 1, 2, 3, 4, 5]
print(numeros[1:4])  # Salida: [1, 2, 3]

print(numeros[:3])   # Salida: [0, 1, 2]

print(numeros[-2:])  # Salida: [4, 5]

print(numeros[::-1]) # Salida: [5, 4, 3, 2, 1, 0]

print(numeros[1:-1]) # Salida: [1, 2, 3, 4]


1.5. Operadores con listas

  • + concatenación
  • * repetición
  • in (para verificar pertenencia)
  • not in (para verificar no pertenencia)

1.6. Comprensión de listas

[ expresion for variable in iterable if condicion ]

cuadrados = [x**2 for x in range(6)]
print(cuadrados)

Salida: [0, 1, 4, 9, 16, 25]

pares = [x for x in range(10) if x % 2 == 0]
print(pares)

Salida: [0, 2, 4, 6, 8]


  1. Tuplas

Tipo de tupla: tuple

2.1. Características de las tuplas

Las tuplas puedan considerarse una versión inmutable de las listas. Debido a que no se pueden modificar, los métodos que existen para las listas no se pueden usar en tuplas. Sin embargo, las tuplas se pueden consultar mediante indexación, de manera similar a las listas.

2.2. Creación de tuplas vacías

tupla_vacia = () # Crear tupla vacía
tupla_un_elemento = (42,) # Tupla con un solo elemento (la coma es necesaria)


2.3. Actualización de tuplas

Aunque las tuplas son inmutables, podemos crear nuevas tuplas combinando partes de tuplas existentes mediante rebanado.

tupla_original = (1, 2, 3)
tupla_actualizada = tupla_original[:2] + (4,) + tupla_original[2:]
print(tupla_actualizada)

Salida:
(1, 2, 4, 3)


Etiquetas: Python listas tuplas estructuras de datos

Publicado el 6-25 17:24