list の要素を一括で型変換する

Python

list 内の文字列型(stg)を数値型(int、float)に一括で変換する方法

for文

list の要素数だけ、int()を実行し、要素を str から int に変換します。

test_list = ["1", "2", "3"]

int_list = []
for i in range(len(test_list)):
    int_list.append(int(test_list[i]))

print(test_list)
# ['1', '2', '3']
print(int_list)
# [1, 2, 3]

for文の内包表記

内包表記で書くと、大分スッキリします。

test_list = ["1", "2", "3"]

int_list = [int(i) for i in test_list]

print(test_list)
# ['1', '2', '3']
print(int_list)
# [1, 2, 3]

range を使用して連続する値のリストを生成

test_lsit = list(range(3))

print(test_list)
# [0, 1, 2]

map関数

組み込み関数
Python インタプリタには数多くの関数と型が組み込まれており、いつでも利用できます。それらをここにアルファベット順に挙げます。,,,, 組み込み関数,,, A, abs(), aiter(), all(), anext(), any(), ascii(),, B, bin(), bool(), breakpoint...

map(変換する型、リスト)で変換できます。
ただ、戻り値がリストではなくイテレータが返されるので、list() でリストに変換する必要があります。

test_list = ["1", "2", "3"]

int_list = map(int, test_list)

print(test_list)
# ['1', '2', '3']

print(int_list)
# <map object at 0x10e226fa0>
print(list(int_list))
# [1, 2, 3]

コメント

タイトルとURLをコピーしました