如何在同一行输入两个整数?

How to input two integers in a same line?

这是一行简单的代码,用于在同一行中输入 2 个整数。 A, B = map(int, input().split()) 请告诉我它是如何使用地图功能工作的?

在Python3中,input()方法总是return一个字符串。您提供的代码片段尝试拆分该输入,split() 函数默认拆分 space 个字符。

map() 函数接受一个函数(在本例中为 int 函数),并将该函数应用于 [=11] 所枚举的 return 的每个部分=]函数。

因此,如果您要编写 a, b = map(int, input().split(" ")),然后用户输入 123 456,您将得到 a == 123b == 456

我们以此为例:a, b = map(int, input().split())

这就是将要发生的事情:

  1. input()函数被执行,假设用户输入123 456
  2. 这被解释为 "123 456",然后被传递到拆分函数,如下所示:"123 456".split() 其中 return 是一个如下所示的列表:["123", "456"] .
  3. 现在您可以想象代码如下所示:map(int, ["123", "456"]),这可能更容易推理。
  4. 现在要发生的是 map 函数将采用它的第一个参数(int 函数),并将其应用于 ["123", 456"] 列表的每个元素(即是 "123""456").
  5. map() 函数 return 是一个可枚举函数,在这种情况下,您可以认为它看起来像 [int("123"), int("456")] 的结果,从而导致 [123, 456]
  6. 分配的解包发生了。你可以这样想:a, b = [123, 456]