在python中,如何在一行中从用户处获取可变数量的输入?
我是python新手。根据一个问题,我们必须接受两行输入。第一行将告诉下一行将输入多少个数字。然后下一行将有那么多的数字,我们需要对这些数字执行一些操作。所以,我知道,当你知道要得到多少个数字时,从一行接受多个输入是相当容易的。例如,如果您知道用户将输入3个数字,则可以执行以下操作:在python中,如何在一行中从用户处获取可变数量的输入?,python,Python,我是python新手。根据一个问题,我们必须接受两行输入。第一行将告诉下一行将输入多少个数字。然后下一行将有那么多的数字,我们需要对这些数字执行一些操作。所以,我知道,当你知道要得到多少个数字时,从一行接受多个输入是相当容易的。例如,如果您知道用户将输入3个数字,则可以执行以下操作: a,b,c=map(int,input().split()) 但是,当不知道要接受的输入数量时,该怎么办 请原谅,如果这个问题是重复的,但我找不到任何相同的解决方案。感谢您的帮助 非常感谢。您可以将映射分配给一个
a,b,c=map(int,input().split())
但是,当不知道要接受的输入数量时,该怎么办
请原谅,如果这个问题是重复的,但我找不到任何相同的解决方案。感谢您的帮助
非常感谢。您可以将映射分配给一个变量,然后它将成为
map
对象,您可以轻松地进行迭代
如果需要列表
,可以使用星号(*
)表达式
*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]
这里您只需要简单的列表理解:
a = [int(i) for i in input().split()]
1 2 3 4 5
a
# Out: [1, 2, 3, 4, 5]
你为什么不这样做呢:
a = list(map(int,input().split()))
假设你的输入是
“123445”
,a将是[1,2,3,4,5]
,你可以随意使用它的元素。使用星号(*
)a,*b=map(int,input().split())
,非常感谢。那相当容易不客气,我很高兴它做到了!如果给出了3个有用的答案,请单击旁边的复选标记,将最有用的答案作为最佳答案。谢谢