如何在同一行输入两个整数?
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 == 123
和 b == 456
。
我们以此为例:a, b = map(int, input().split())
这就是将要发生的事情:
input()
函数被执行,假设用户输入123 456
- 这被解释为
"123 456"
,然后被传递到拆分函数,如下所示:"123 456".split()
其中 return 是一个如下所示的列表:["123", "456"]
.
- 现在您可以想象代码如下所示:
map(int, ["123", "456"])
,这可能更容易推理。
- 现在要发生的是
map
函数将采用它的第一个参数(int
函数),并将其应用于 ["123", 456"]
列表的每个元素(即是 "123"
和 "456"
).
map()
函数 return 是一个可枚举函数,在这种情况下,您可以认为它看起来像 [int("123"), int("456")]
的结果,从而导致 [123, 456]
- 分配的解包发生了。你可以这样想:
a, b = [123, 456]
这是一行简单的代码,用于在同一行中输入 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 == 123
和 b == 456
。
我们以此为例:a, b = map(int, input().split())
这就是将要发生的事情:
input()
函数被执行,假设用户输入123 456
- 这被解释为
"123 456"
,然后被传递到拆分函数,如下所示:"123 456".split()
其中 return 是一个如下所示的列表:["123", "456"]
. - 现在您可以想象代码如下所示:
map(int, ["123", "456"])
,这可能更容易推理。 - 现在要发生的是
map
函数将采用它的第一个参数(int
函数),并将其应用于["123", 456"]
列表的每个元素(即是"123"
和"456"
). map()
函数 return 是一个可枚举函数,在这种情况下,您可以认为它看起来像[int("123"), int("456")]
的结果,从而导致[123, 456]
- 分配的解包发生了。你可以这样想:
a, b = [123, 456]