TECHDRIFT

Technology is beautiful.

Python3で文字列型のリストを数値型に一括変換する方法

Pytho3で文字列型のリストを数値型に一括変換する方法の備忘録です。よくpaizaも問題で使用する頻度が多いかと思います。

元のデータ

>>>str_list = [ '10', '100', '1000' ]
[ '10', '100', '1000' ]

このままだと、各要素について四則演算するためにはint()で変換する必要があります。

やり方1:リスト内方表記を使う方法

こちらの方が分かりやすいのでお勧めです。

>>> int_list = [ int_line for int_line in str_list ]
>>> print( int_list )
[10, 100, 1000]

やり方2:mapを使う方法

>>> int_list = list(map(int_line, str_list ))
>>> print( int_list ) 
[10, 100, 1000]

なお、初心者のうちは一つ一つリストの要素を取り出して数値型に変換してもいいと思います(その方が直感的ですし)。しかし、コードが冗長になったり、pythonぽくなかったりするので、ここで紹介した書き方をぜひ活用してみてください。