Python で整数を数字に分割する

Vaibhhav Khetarpal 2023年1月30日
  1. Python でリスト内包表記を使用して整数を数字に分割する
  2. Python で math.ceil() および math.log() 関数を使用して整数を数字に分割する
  3. Python で map() および str.split() 関数を使用して整数を数字に分割する
  4. Python で 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() 関数を使用して数字が整数に変換されます。

Python で math.ceil() および math.log() 関数を使用して整数を数字に分割する

Python で整数を数字に分割する操作は、最初に数値を文字列に変換せずに実行できます。さらに、この方法は、最初に文字列に変換する場合の約 2 倍の速度です。

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 の 2つのパラメーターを保持します。

このメソッドを使用できるようにするには、数値がすでに文字列形式である必要があります。

次のコードは、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) を使用して、マップオブジェクトからリストを作成します。

Python で for ループを使用して整数を数字に分割する

このメソッドでは、ループを使用して、指定された桁数(この場合は A=1)までスライス手法を実行し、最後に int() 関数を使用して整数に変換します。

次のコードは、Python で int()+ loop + slice を使用して整数を数字に分割します。

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