【发布时间】:2015-03-31 00:03:15
【问题描述】:
有没有办法要求用户输入并将他们的输入转换为列表、元组或字符串?我想要将一系列数字插入矩阵。我可以告诉他们在控制台中输入所有数字,不带空格并遍历它们,但还有其他方法吗?
【问题讨论】:
有没有办法要求用户输入并将他们的输入转换为列表、元组或字符串?我想要将一系列数字插入矩阵。我可以告诉他们在控制台中输入所有数字,不带空格并遍历它们,但还有其他方法吗?
【问题讨论】:
您可以简单地执行以下操作:
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]
【讨论】:
.split(),因为它会自动处理项目之间的多个空格。即'1 2 3 4 5'.split() --> ['1', '2', '3', '4', '5']
如果您正在使用 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]])
用空格分隔每行的条目,用分号分隔每行。
【讨论】:
如果您想要一个列表,当它发现数字之间有空格时自动放置逗号,请使用:
query=input("enter a bunch of numbers: ")
a_list = list(map(int,query.split()))
print(a_list)
*split() 将用逗号分隔它们,无需输入
*例如。 1 2 3 4 5 = [1, 2, 3, 4, 5]
【讨论】: