在 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