El método str.zfill() puede llegarnos a ser muy útil si estamos trabajando con cadenas en Python. Este permite rellenar una cadena con ceros al principio hasta que alcance una longitud determinada. Si bien puede sonar sencillo, hay casos especiales en donde este método es ganador. Veamos en este artículo en qué consiste y cómo se utiliza.
¿Qué hace el método str.zfill()?
El método str.zfill() en Python se utiliza para rellenar una cadena de texto con ceros desde la izquierda hasta que alcance una longitud de caracteres especificada. Específicamente, lo que hace es tomar una cadena y añadir ceros al principio, sin modificar los números que ya existen en la cadena.
La sintaxis de str.zfill() se compone de:
string.zfill(length)
En donde:
- string es la cadena de texto a la que le quieres añadir ceros.
- length es la longitud deseada que debe tener la cadena después de rellenarla con ceros.
Si la longitud deseada es menor que la longitud actual de la cadena, str.zfill() no hará ningún cambio y devolverá la cadena original tal cual está.
Miremos un ejemplo de un caso hipotético en donde tienes un número como texto y quieres rellenarlo con ceros hasta que tenga una longitud de 10 caracteres. El código sería:
txt = "50"
txt_zfilled = txt.zfill(10)
print(txt_zfilled)
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaEl resultado de este código sería:
0000000050
Aquí, hemos añadido ceros hasta que la longitud total de la cadena es 10.
¿Por qué debería usar str.zfill()?: casos de uso
Por muchas razones, entre ellas:
Formateo de números
Si estás trabajando con un sistema que requiere que los números tengan una longitud constante, str.zfill() es una forma rápida y sencilla de asegurarte de que cada número tenga la misma cantidad de dígitos. Esto es común en aplicaciones como:
- Códigos de barras
- Formatos de fechas o horas (por ejemplo, “09” en lugar de “9”)
- Identificadores numéricos en bases de datos
Serialización de datos
Cuando tienes una lista de números y necesitas presentarlos con una longitud uniforme, str.zfill() puede ayudar a que todos los números tengan la misma cantidad de caracteres. Esto mantiene un formato consistente en informes o archivos.
Su uso en diversos contextos
Algunos de los contextos en los que se puede usar el str.zfill() son:
Cadena de texto con palabras
Aunque str.zfill() se usa comúnmente para números, también se puede aplicar a cualquier tipo de cadena de texto, no solo números. Observemos un ejemplo con palabras:
a = "hello"
print(a.zfill(10)) # Resultado: '00000hello'
En este caso, la cadena “hello” se rellena con ceros hasta que su longitud total es de 10 caracteres.
Cadenas con decimales
Otro caso de uso en el que se puede usar de str.zfill() es cuando estamos trabajando con cadenas que representan números con decimales:
txt = "10.000"
print(txt.zfill(10)) # Resultado: '00010.000'
Aquí, los ceros se añaden al principio de la cadena hasta que tiene una longitud de 10 caracteres.
¿Qué pasa si el número ya tiene la longitud deseada?
Como mencionamos al principio, si el valor de length es menor que la longitud de la cadena, no se añadirá ningún cero. Esto es lo que sucede cuando intentamos rellenar una cadena más corta con ceros:
txt = "1000"
print(txt.zfill(3)) # Resultado: '1000' (sin cambios)
En este caso, como la cadena ya tiene más de 3 caracteres, no se modifica.
str.zfill() en pandas
En pandas, el método str.zfill() también se puede aplicar a series de datos. Si tienes una columna de números y deseas asegurarte de que todos los valores tienen la misma cantidad de dígitos, puede serte de gran utilidad.
Por ejemplo:
import pandas as pd
s = pd.Series(['-1', '1', '1000', '10'])
print(s.str.zfill(3))
La salida será:
0 -01
1 001
2 1000
3 010
dtype: object
Como puedes ver, incluso los valores negativos son tratados de forma especial, moviendo el signo “-” hacia la izquierda.
Si quiers seguir aprendiendo sobre tecnología, te invitamos a unirte a nuestro bootcamp en programación inicial, que te formará para que seas un gran programador y consigas tu primer empleo en el sector. No te pierdas la oportunidad de tu vida de cambiar tu futuro, ¡únete ahora!