2015-03-31 118 views
5

嘿,大家有无论如何要求用户输入,并将他们的输入变成列表,元组或字符串?我想要一系列数字插入到矩阵中。我可以告诉他们将所有数字输入到控制台中,并且没有空格并遍历它们,但有没有其他方法可以做到这一点?Python-将用户输入变成列表

回答

6

你可以简单地做如下:

user_input = input("Please provide list of numbers separated by comma, e.g. 1,2,3: ") 

a_list = list(map(float,user_input.split(','))) 
print(a_list) 
# example result: [1, 2, 3] 
+0

非常感谢。从字面上理解今天的地图,所以我没有想到要使用它 – 2015-03-31 00:06:00

+0

应该真的使用一个尝试/除了投射时,有很多方法会引发错误 – 2015-03-31 00:20:54

+0

我还建议用空格分隔元素并使用普通的'.split ()'因为它自动处理项目之间的多个空格。即''1 2 3 4 5'.split()' - >'['1','2','3','4','5']' – martineau 2015-03-31 00:23:47

2

NumPy的支持MATLAB式矩阵的定义,如果你使用它:

import numpy as np 
s = raw_input('Enter the matrix:') 
matrix = np.matrix(s) 

例如

Enter the matrix:1 2 3; 4 5 3 

设置matrix于:在每一行由分号间隔和行

matrix([[1, 2, 3], 
     [4, 5, 3]]) 

独立的条目。

0

,如果你想有一个自动放置一个逗号的列表,只要它找到一个空间之间的数字使用:

query=input("enter a bunch of numbers: ") 
a_list = list(map(int,query.split())) 
print(a_list) 

*分裂()将用逗号分开,没有输入

*例如。 1 2 3 4 5 = [1,2,3,4,5]