Разделить целое число на цифры в Python

  1. Использование понимания списка для разделения целого числа на цифры в Python
  2. Используйте функции math.ceil() и math.log() для разделения целого числа на цифры в Python
  3. Используйте функции map() и str.split() для разделения целого числа на цифры в Python
  4. Использование цикла for для разделения целого числа на цифры в Python

В этом руководстве будут рассмотрены различные методы разделения целого числа на цифры в Python.

Использование понимания списка для разделения целого числа на цифры в Python

Понимание списков - это гораздо более короткий и изящный способ создания списков, которые должны быть сформированы на основе заданных значений уже существующего списка.

В этом методе функции str() и int() также используются вместе с пониманием списка для разделения целого числа на цифры. Функции str() и int() используются для преобразования числа в строку, а затем в целое число соответственно.

Следующий код использует понимание списка для разделения целого числа на цифры в Python.

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

Выход:

[1, 3, 5, 7, 9]

Число num сначала преобразуется в строку с помощью str() в приведенном выше коде. Затем используется составление списка, при котором строка разбивается на отдельные цифры. Наконец, цифры конвертируются обратно в целое число с помощью функции int().

Используйте функции math.ceil() и math.log() для разделения целого числа на цифры в Python

Операция разбиения целого числа на цифры в Python может выполняться без предварительного преобразования числа в строку. Более того, этот метод примерно в два раза быстрее, чем преобразование сначала в строку.

Функция math.ceil() округляет число до целого. Функция math.log() вычисляет натуральный логарифм числа. Чтобы использовать обе эти функции, мы должны импортировать math библиотеку.

Модуль math можно определить как всегда доступный и стандартный модуль в Python. Он обеспечивает доступ к основным функциям библиотеки C.

В следующем коде используются функции понимания списка, math.ceil() и math.log() для разделения целого числа на цифры в 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)

Выход:

[1, 3, 5, 7, 9]

Используйте функции map() и str.split() для разделения целого числа на цифры в Python

Функция map() реализует указанную функцию для каждого элемента в итерации. Затем элемент передается в качестве параметра функции.

Метод split(), как следует из названия, используется для разделения строки на список. Он имеет базовый синтаксис и содержит два параметра: separator и maxsplit.

Число должно быть уже в строковом формате, чтобы можно было использовать этот метод.

В следующем коде используются функции map() и str.split() для разделения целого числа на цифры в Python.

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

listofint = list(map_object)
print(listofint)

Выход:

[1, 3, 5, 7, 9]

Здесь мы использовали метод str.split() для разделения заданного числа в строковом формате на список строк, содержащих каждое число. Затем используется функция map(), которая используется для создания объекта карты, который преобразует каждую строку в целое число. Наконец, list(mapping) используется для создания списка из объекта карты.

Использование цикла for для разделения целого числа на цифры в Python

В этом методе мы используем цикл и выполняем технику нарезки до указанного количества цифр (в данном случае A=1), а затем, наконец, используем функцию int() для преобразования в целое число.

Следующий код использует int() + цикл + срез для разделения целого числа на цифры в 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))

Выход:

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

Сопутствующая статья - Python Integer

  • Преобразование Int в ASCII в Python
  • Сопутствующая статья - Python String

  • Преобразование Int в ASCII в Python
  • Как проверить, что строка пуста в Python
  • Как удалить белый пробел в строке на Python