Dividir entero en dígitos en Python

Vaibhhav Khetarpal 30 enero 2023
  1. Use la comprensión de listas para dividir un número entero en dígitos en Python
  2. Utilice las funciones math.ceil() y math.log() para dividir un entero en dígitos en Python
  3. Utilice las funciones map() y str.split() para dividir un entero en dígitos en Python
  4. Utilice un bucle for para dividir un entero en dígitos en Python
Dividir entero en dígitos en Python

Este tutorial discutirá diferentes métodos para dividir un número entero en dígitos en Python.

Use la comprensión de listas para dividir un número entero en dígitos en Python

La comprensión de listas es una forma mucho más corta y elegante de crear listas que se formarán en función de los valores dados de una lista ya existente.

En este método, las funciones str() e int() también se utilizan junto con la comprensión de listas para dividir el número entero en dígitos. Las funciones str() e int() se utilizan para convertir un número en una cadena y luego en un entero, respectivamente.

El siguiente código usa la comprensión de listas para dividir un número entero en dígitos en Python.

num = 13579
x = [int(a) for a in str(num)]
print(x)

Producción :

[1, 3, 5, 7, 9]

El número num se convierte primero en una cadena usando str() en el código anterior. Luego, se usa la comprensión de listas, que divide la cadena en dígitos discretos. Finalmente, los dígitos se vuelven a convertir a un número entero usando la función int().

Utilice las funciones math.ceil() y math.log() para dividir un entero en dígitos en Python

La operación de dividir el número entero en dígitos en Python se puede realizar sin convertir primero el número en una cadena. Además, este método es aproximadamente el doble de rápido que convertirlo primero en una cadena.

La función math.ceil() redondea un número a un entero. La función math.log() proporciona el logaritmo natural de un número. Para usar estas dos funciones, debemos importar la biblioteca math.

El módulo math se puede definir como un módulo estándar y siempre accesible en Python. Proporciona acceso a las funciones fundamentales de la biblioteca de C.

El siguiente código utiliza funciones de comprensión de listas, math.ceil() y math.log() para dividir un número entero en dígitos en Python.

import math

n = 13579
x = [(n // (10 ** i)) % 10 for i in range(math.ceil(math.log(n, 10)) - 1, -1, -1)]
print(x)

Producción :

[1, 3, 5, 7, 9]

Utilice las funciones map() y str.split() para dividir un entero en dígitos en Python

La función map() implementa una función establecida para cada elemento en un iterable. Luego, el artículo se consigna como parámetro de la función.

El método split(), como sugiere el nombre, se utiliza para dividir una cadena en una lista. Tiene una sintaxis básica y contiene dos parámetros, separator y maxsplit.

El número debe estar ya en formato de cadena para que se pueda utilizar este método.

El siguiente código usa las funciones map() y str.split() para dividir un número entero en dígitos en Python.

str1 = "1 3 5 7 9"
list1 = str1.split()
map_object = map(int, list1)

listofint = list(map_object)
print(listofint)

Producción :

[1, 3, 5, 7, 9]

Aquí, usamos el método str.split() para dividir el número dado en formato de cadena en una lista de cadenas que contienen cada número. Luego se utiliza la función map(), que se utiliza para generar un objeto de mapa que convierte cada cadena en un número entero. Finalmente, list(mapping) se utiliza para crear una lista a partir del objeto de mapa.

Utilice un bucle for para dividir un entero en dígitos en Python

En este método, usamos un bucle y realizamos la técnica de corte hasta el número especificado de dígitos (A=1 en este caso) y luego, finalmente, usamos la función int() para la conversión a un número entero.

El siguiente código usa int() + loop + slice para dividir un número entero en dígitos en Python.

str1 = "13579"
# initializing substring
A = 1
# create a result list
result = []
for i in range(0, len(str1), A):
    # convert to int, after the slicing process
    result.append(int(str1[i : i + A]))

print("The resultant list : " + str(result))

Producción :

The resultant list : [1, 3, 5, 7, 9]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Artículo relacionado - Python Integer

Artículo relacionado - Python String