Códigos de Python que debes conocer HOY

Python web en SofTim

Python

# Desempaquetado en funciones con argumentos variables
def imprimir_todo(primero, segundo, *resto):
    print(f"Primero: {primero}")
    print(f"Segundo: {segundo}")
    print(f"Resto: {resto}")

imprimir_todo(1, 2, 3, 4, 5)
# Salida:
# Primero: 1
# Segundo: 2
# Resto: (3, 4, 5)

# Desempaquetado para fusionar iterables
lista1 = [1, 2, 3]
lista2 = [4, 5]
lista_fusionada = [*lista1, *lista2]
print(lista_fusionada)  # [1, 2, 3, 4, 5]

diccionario1 = {'a': 1, 'b': 2}
diccionario2 = {'c': 3, 'd': 4}
diccionario_fusionado = {**diccionario1, **diccionario2}
print(diccionario_fusionado)  # {'a': 1, 'b': 2, 'c': 3, 'd': 4}

Python

edad = 25
estado = "adulto" if edad >= 18 else "menor"
print(estado)  # adulto

Python

nombres = ["Ana", "Beto", "Carla"]
edades = [30, 25, 35]

for nombre, edad in zip(nombres, edades):
    print(f"{nombre} tiene {edad} años.")

# También puedes "descomprimir" con zip y *
pares = [(1, 'a'), (2, 'b'), (3, 'c')]
numeros, letras = zip(*pares)
print(numeros)  # (1, 2, 3)
print(letras)   # ('a', 'b', 'c')

Python

frutas = ["manzana", "banana", "cereza"]
for indice, fruta in enumerate(frutas):
    print(f"Índice {indice}: {fruta}")

Python

# Comprensión de lista para cuadrados
cuadrados = [x**2 for x in range(5)]
print(cuadrados)  # [0, 1, 4, 9, 16]

# Comprensión de diccionario para invertir clave-valor
nombres_edades = {"Ana": 30, "Beto": 25}
edades_nombres = {edad: nombre for nombre, edad in nombres_edades.items()}
print(edades_nombres)  # {30: 'Ana', 25: 'Beto'}

# Comprensión de conjunto para obtener elementos únicos
numeros = [1, 2, 2, 3, 3, 3]
unicos = {x for x in numeros}
print(unicos)  # {1, 2, 3}

Python

import itertools

# `chain()` para iterar sobre múltiples iterables secuencialmente
lista1 = [1, 2]
lista2 = ['a', 'b']
for item in itertools.chain(lista1, lista2):
    print(item)  # 1, 2, a, b

# `cycle()` para iterar indefinidamente sobre un iterable
contador = 0
for color in itertools.cycle(['rojo', 'verde', 'azul']):
    if contador >= 5:
        break
    print(color)
    contador += 1

# `combinations()` para obtener combinaciones únicas
for combo in itertools.combinations([1, 2, 3], 2):
    print(combo)  # (1, 2), (1, 3), (2, 3)

Python

import functools
import time

@functools.lru_cache(maxsize=None)
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

inicio = time.time()
print(fibonacci(30))
fin = time.time()
print(f"Tiempo sin caché: {fin - inicio:.4f} segundos")

inicio = time.time()
print(fibonacci(30))  # La segunda llamada es mucho más rápida
fin = time.time()
print(f"Tiempo con caché: {fin - inicio:.4f} segundos")

Python

with open("mi_archivo.txt", "r") as archivo:
    contenido = archivo.read()
    # No necesitas cerrar el archivo explícitamente

Python

def mi_funcion(x):
    y = x * 2
    breakpoint()  # Inicia el depurador aquí
    z = y + 1
    return z

resultado = mi_funcion(5)
print(resultado)

Python

def buscar_numero(lista, numero):
    for x in lista:
        if x == numero:
            print(f"{numero} encontrado en la lista.")
            break
    else:
        print(f"{numero} no encontrado en la lista.")

buscar_numero([1, 2, 3, 4, 5], 3)  # Salida: 3 encontrado en la lista.
buscar_numero([1, 2, 3, 4, 5], 6)  # Salida: 6 no encontrado en la lista.

Scroll al inicio