在 Python 中将整数拆分为数字

Vaibhhav Khetarpal 2023年1月30日 2021年7月13日
  1. 在 Python 中使用列表推导将整数拆分为数字
  2. 在 Python 中使用 math.ceil()math.log() 函数将整数拆分为数字
  3. 在 Python 中使用 map()str.split() 函数将整数拆分为数字
  4. 在 Python 中使用 for 循环将整数拆分为数字
在 Python 中将整数拆分为数字

本教程将讨论在 Python 中将整数拆分为数字的不同方法。

在 Python 中使用列表推导将整数拆分为数字

列表推导式是一种更短、更优雅的方式来创建基于现有列表的给定值形成的列表。

在此方法中,str()int() 函数还与 List 推导一起使用以将整数拆分为数字。str()int() 函数分别用于将数字转换为字符串,然后分别转换为整数。

以下代码使用列表推导在 Python 中将整数拆分为数字。

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

输出:

[1, 3, 5, 7, 9]

在上面的代码中,首先使用 str() 将数字 num 转换为字符串。然后,使用列表推导,将字符串分解为离散数字。最后,使用 int() 函数将数字转换回整数。

在 Python 中使用 math.ceil()math.log() 函数将整数拆分为数字

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]

在 Python 中使用 map()str.split() 函数将整数拆分为数字

map() 函数为迭代中的每个项目实现一个指定的函数。然后将该项目作为函数的参数进行委托。

split() 方法,顾名思义,用于将字符串拆分为列表。它有一个基本的语法并包含两个参数,separatormaxsplit

该数字需要已经是字符串格式,以便可以使用此方法。

以下代码使用 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) 用于从 Map 对象创建一个列表。

在 Python 中使用 for 循环将整数拆分为数字

在这种方法中,我们使用循环并执行切片技术直到指定的位数(在本例中为 A=1),然后最后使用 int() 函数转换为整数。

以下代码使用 int()+loop+slice 在 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]
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

相关文章 - Python Integer

相关文章 - Python String