在python中从一行中获取用户可变数量输入的方法是什么?

时间:2018-02-16 06:45:35

标签: python

我是python的新手。根据一个问题,我们必须接受两行输入。第一行将告知下一行将输入多少个数字。然后下一行将有那么多数字,我们需要对这些数字执行一些操作。所以,我知道当你知道要获得多少个数字时,从一行接受多个输入是相当容易的。例如,如果您知道用户将输入3个数字,则可以执行以下操作:

a,b,c=map(int,input().split())

但是当接受的输入数量未知时应该怎么做?

如果这个问题是重复的,请原谅我,但我找不到任何相同的解决方案。任何帮助表示赞赏。

非常感谢。

3 个答案:

答案 0 :(得分:1)

这里只需要一个简单的列表理解:

a = [int(i) for i in input().split()]
1 2 3 4 5
a
# Out: [1, 2, 3, 4, 5]

答案 1 :(得分:1)

为什么你不这样做:

"1 2 3 4 5"

假设您的输入为a[1, 2, 3, 4, 5]^[\\w\\s]*$ ,您可以根据需要使用其元素。

答案 2 :(得分:0)

您可以将地图分配给一个变量,然后它将成为map对象,您可以轻松地进行迭代。

如果您需要list,可以使用星号(*)表达式

*a, = map(int, input().split())
  ^
not this comma, it is important in unpacking

简单示例:

In [1]: *a, = map(int, input().split())
1 2 3 4 5

In [2]: a
Out[2]: [1, 2, 3, 4, 5]