在 Python 中将整数拆分为数字
- 在 Python 中使用列表推导将整数拆分为数字
-
在 Python 中使用
math.ceil()
和math.log()
函数将整数拆分为数字 -
在 Python 中使用
map()
和str.split()
函数将整数拆分为数字 -
在 Python 中使用
for
循环将整数拆分为数字
本教程将讨论在 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()
方法,顾名思义,用于将字符串拆分为列表。它有一个基本的语法并包含两个参数,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)
用于从 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 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