【Python】input関数で入力値をリスト化する方法
公開:
Pythonで入力値をリストに変換する基本的な方法
【サンプルコード】
input_string = input("数値をスペースで区切って入力してください: ")
numbers_list = input_string.split()
numbers_list = [int(number) for number in numbers_list]
print(numbers_list)
【実行結果】
[1, 2, 3, 4, 5]
上記のPythonのサンプルコードではinput関数を使ってユーザーから文字列の入力を受け取っており、入力された文字列はinput_stringという変数に格納され、この変数はユーザーが入力したデータを保存します。
ユーザーは数値をスペースで区切って入力するよう指示されており、例えば「1 2 3 4 5」と入力すると、これが一つの文字列としてinput_stringに保存されます。
次にsplitメソッドを使用してこの文字列をスペースで分割し、個々の数値を要素とするリストに変換します。
splitメソッドは与えられた文字列を指定された区切り文字(この場合はスペース)で分割し、分割された各部分をリストの要素として返します。
この操作によりnumbers_listという新しいリストが生成されますが、この時点でのリストの要素はすべて文字列型であるため、リスト内包表記を使ってこれらの文字列を整数型に変換します。
リスト内包表記は、リストの各要素に対して一定の操作を行い、その結果を新しいリストとして返します。
ここではnumbers_listの各要素(文字列)をint関数を使って整数に変換し、その結果を新たなnumbers_listとしています。
最後に、print関数を使って、整数型に変換されたリストを画面に表示しています。
このプログラムを実行すると、ユーザーが入力した数値が整数型のリストとして出力されます。
複数のデータ型を含むリストへの変換方法
【サンプルコード】
input_string = input("異なる型の値をカンマで区切って入力してください: ")
mixed_list = [eval(item) for item in input_string.split(',')]
print(mixed_list)
【実行結果】
[1, 'Python', 3.14, True]
このサンプルコードでは、ユーザーが異なるデータ型(整数、文字列、浮動小数点数、ブーリアンなど)の値をカンマで区切って入力すると想定しています。
例えば「1, 'Python', 3.14, True」というような形式で入力されると仮定して、入力された文字列は再びinput_stringという変数に格納されます。
次にsplitメソッドを使用してこの文字列をカンマで分割し、個々の要素を要素とするリストに変換します。
ここで重要なのは、eval関数を使用して各要素のデータ型を元の型に戻している点です。
eval関数は与えられた文字列をPythonの式として評価し結果を返すので、この機能を利用して文字列型として入力された値を適切なデータ型(例えば整数、文字列、浮動小数点数など)に変換します。
これらの変換された要素を含む新しいリストがmixed_listとして生成され、最後にprint関数を使ってこのリストを表示します。
リスト内の要素の型を確認する方法
【サンプルコード】
input_list = [1, 'Python', 3.14, True]
types_list = [type(item) for item in input_list]
print(types_list)
【実行結果】
[<class 'int'>, <class 'str'>, <class 'float'>, <class 'bool'>]
このサンプルコードでは異なる型の値を含むリストinput_listが用意されており、リストの要素には整数、文字列、浮動小数点数、ブーリアン値が含まれています。
次にリストの各要素の型を確認しているためtype関数を使い、リストの各要素の型を調べ結果を新しいリストtypes_listに保存しています。
type関数は与えられたオブジェクトの型を返す関数で、これを使ってリストの各要素の型を判別できます。
最後にprint関数を使って、各要素の型が格納されたリストtypes_listを表示します。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。




