将单个整数输入转换为python中的列表

时间:2012-01-20 18:21:28

标签: python list input

我在python中寻找单行命令将整数输入转换为list。 以下是这种情况。

mylist=[]
mylist=list(input('Enter the numbers: '))

如果我输入多个数字,则上述行完美无缺。例如1,2,3。但是当我只给出一个数字条目时它会给出错误。例如:1。说它无法将整数转换为列表。 我不想运行一个循环询问用户的每个输入。所以我想要一个单行命令,它可以用于由逗号分隔的用户给出的一个更多数字输入。

感谢你, -indiajoe

3 个答案:

答案 0 :(得分:3)

您应该使用raw_input并使用列表理解转换为int

user_input = raw_input('Enter the numbers: ')
my_list = [int(i) for i in user_input.split(',')]

offical documentationraw_input 从输入中读取一行,将其转换为字符串(剥离尾随换行符),然后返回。

答案 1 :(得分:3)

我认为你能做的最简单的事情是:

mylist = map(int, raw_input('Enter the numbers: ').split(','))

但它与使用列表理解几乎相同。

答案 2 :(得分:1)

input eval()是您键入的内容。因此,当您输入1,2,3时,结果为tuple;键入1时,结果为int。尝试输入1,而不是1。请注意,您的第一行(mylist=[])是不必要的。