web-dev-qa-db-ja.com

Pythonでraw_inputからリストを作成する方法は?

だから私はraw_input何らかのリストの入力として。

x= raw_input()

入力場所1 2 3 4数字のみを入力している場合、どのように整数のリストに変換しますか?

12
user3481478

このような:

string_input = raw_input()
input_list = string_input.split() #splits the input string on spaces
# process string elements in the list and make them integers
input_list = [int(a) for a in input_list] 
22
shaktimaan

list = map(int,raw_input().split())

高次関数mapを使用して、integersのリストを取得しています。

10
Perseus14

eval を使用して以下を実行できます。

lst = raw_input('Enter your list: ')
lst = eval(lst)
print lst

これは次のように実行されます。

>>> lst = raw_input('Enter your list: ')
Enter your list: [1, 5, 2, 4]
>>> lst = eval(lst)
>>> print lst
[1, 5, 2, 4]
>>> 
3
A.J. Uppal

ユーザーからのリストの入力に関するいくつかの例と簡単な説明を次に示します。

多くの場合、コンソールからリストにデータを読み込むコードが必要になる場合があります。 1行に1つのデータ項目を入力して、ループ内のリストに追加できます。たとえば、次のコードは1行に1つずつ10個の数字をリストに読み込みます。

_lst1 = [] # Create an empty list
print("Enter 10 Numbers: ")
for i in range(10):
   lst1.append(eval(input()))

print(lst1)
_

データをスペースで区切って1行で入力した方が便利な場合があります。文字列のsplitメソッドを使用して、入力行からデータを抽出できます。たとえば、次のコードは、1行からスペースで区切られた10個の数字をリストに読み込みます。

_# Read numbers as a string from the console
s = input("Enter 10 numbers separated by spaces from one line: ")
items = s.split() # Extract items from the string
lst2 = [eval(x) for x in items] # Convert items to numbers

print(lst2)
_

input()を呼び出すと、文字列が読み取られます。 s.split()を使用すると、文字列sからスペースで区切られたアイテムが抽出され、リスト内のアイテムが返されます。最後の行では、アイテムを数字に変換して数字のリストを作成します。

1
Jocelyn