Saltar al contenido principal

Cómo pasar un diccionario a `str.format()` en Python

En Python, el método str.format() nos permite insertar valores en una cadena utilizando marcadores de posición. Estos marcadores de posición están representados por llaves {} y pueden ser reemplazados por los valores deseados. Podemos pasar un diccionario como argumento a str.format() para reemplazar múltiples marcadores de posición con pares clave-valor del diccionario.

Aquí tienes un tutorial paso a paso sobre cómo pasar un diccionario a str.format() en Python:

Paso 1: Crear un Diccionario

Primero, crea un diccionario con los valores que deseas insertar en la cadena. El diccionario debe consistir en pares clave-valor, donde las claves representan los marcadores de posición en la cadena.

data = {
'nombre': 'John',
'edad': 25,
'país': 'EE. UU.'
}

En este ejemplo, tenemos un diccionario llamado data con tres claves: 'nombre', 'edad' y 'país'.

Paso 2: Definir la Cadena

Luego, define la cadena donde deseas insertar los valores del diccionario. Los marcadores de posición para las claves del diccionario deben incluirse utilizando llaves {}.

mensaje = "Mi nombre es {nombre}, tengo {edad} años y vivo en {país}."

Hemos definido una cadena llamada mensaje con tres marcadores de posición: {nombre}, {edad} y {país}.

Paso 3: Pasar el Diccionario a str.format()

Para pasar el diccionario a str.format(), llama al método format() en la cadena y pasa el diccionario como argumento.

mensaje_formateado = mensaje.format(**data)

La sintaxis **data se utiliza para desempaquetar el diccionario y pasar sus pares clave-valor como argumentos de palabras clave al método format().

Paso 4: Imprimir o Utilizar la Cadena Formateada

Finalmente, puedes imprimir o utilizar la cadena formateada según desees. Los marcadores de posición en la cadena serán reemplazados por los valores correspondientes del diccionario.

print(mensaje_formateado)

La salida será:

Mi nombre es John, tengo 25 años y vivo en EE. UU.

Ejemplos Adicionales

Ejemplo 1: Valores Numéricos

data = {
'num1': 10,
'num2': 5,
'suma': 15
}

mensaje = "La suma de {num1} y {num2} es {suma}."

mensaje_formateado = mensaje.format(**data)
print(mensaje_formateado)

Salida:

La suma de 10 y 5 es 15.

Ejemplo 2: Valores de Fecha

data = {
'día': 12,
'mes': 'octubre',
'año': 2022
}

mensaje = "Hoy es {día} de {mes}, {año}."

mensaje_formateado = mensaje.format(**data)
print(mensaje_formateado)

Salida:

Hoy es 12 de octubre, 2022.

Ejemplo 3: Valores Booleanos

data = {
'hace_sol': True,
'llueve': False
}

mensaje = "¿Hace sol? {hace_sol}. ¿Está lloviendo? {llueve}."

mensaje_formateado = mensaje.format(**data)
print(mensaje_formateado)

Salida:

¿Hace sol? True. ¿Está lloviendo? False.

Siguiendo estos pasos y ejemplos, puedes pasar fácilmente un diccionario a str.format() en Python e insertar valores dinámicamente en tus cadenas.