我是python的新手。根据一个问题,我们必须接受两行输入。第一行将告知下一行将输入多少个数字。然后下一行将有那么多数字,我们需要对这些数字执行一些操作。所以,我知道当你知道要获得多少个数字时,从一行接受多个输入是相当容易的。例如,如果您知道用户将输入3个数字,则可以执行以下操作:
a,b,c=map(int,input().split())
但是当接受的输入数量未知时应该怎么做?
如果这个问题是重复的,请原谅我,但我找不到任何相同的解决方案。任何帮助表示赞赏。
非常感谢。
答案 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]