[Python3] 標準出力の数列から数値リストを作る
ユーザーが入力した数列 ( 12345678 みたいなの ) を 1 つずつ数値として int 型の配列に格納する方法。このあと計算をするので、数値として扱いたかった。
文字列でも同じ方法で 1 文字ずつ格納することができる。
Contents
数列から数字 1 つずつのリストを作る
input()
で受け取ることのできる値は文字列となるが、 1 つずつ分割するときはまず文字列にする。
文字列を list()
にすると 1 要素に 1 文字格納される。要するにリストにするだけで 1 つずつに分割される。
文字列のリストを数値リストに変換するときは、リスト内包表記という方法 ( […….] のところ ) を使った。num_list = [int(i) for i in list(inpt)]
int()
を使って string から int に変換している。ここを float()
を使って浮動小数点に変換したり、 int(i, 2)
にして 2 進数に変換することもできる。
コード
# 標準出力の値 ( 数列 ) を受け取る
# 入力値:12345
inpt = input()
# 数列を 1 つの数値 ( 文字 ) に分割してリストに格納
str_list = list(inpt)
print(str_list)
# 出力: ['1', '2', '3', '4', '5']
# 文字列のリストを数値リストに変換
num_list = [int(i) for i in list(inpt)]
print(num_list)
# 出力:[1, 2, 3, 4, 5]