Python 3 的`map` 函数中的`int` 参数是什么?
What does `int` parameter in `map` function of Python 3?
if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())
在上面的代码中,map 函数有两个参数,我了解了第二个参数的作用,但我没有得到 'int' 参数。
假设我键入 5
,然后在第一个提示符处输入:
n = int(input())
会将输入“5”变成整数 5
。所以我们将从 string
变为 int
然后我们将得到另一个输入提示,因为我们在下一行再次有 input() :
这次我将输入 123 324 541 123 134
然后输入
.split()
会将其拆分为“123”、“324”、“541”、“123”、“134”,这是一个字符串列表(嗯 map
)。然后我们将 int
映射到它们上,给我们自己一个 int
的 map
而不是字符串。 int
将字符串转换为整数。
签出代码时,在 REPL 中尝试操作通常很有帮助(读取执行打印、循环程序)。在您的命令提示符中只需键入 python
或 python3
(如果您已安装或使用 replt.it)。输入 a = "123" + "321"
然后尝试 `a = int("123") + int("321")
用 list(map(int, input().split())) 包装它以获得 list
而不是 map
.
- map(function, iterable) Return 将 function 应用于 iterable 的每个项目的迭代器,产生结果。
- int(x) Return 由数字或字符串构造的整数对象 x.
因此,它将 return 一个可迭代对象,其中它将 int() 函数应用于 .split()
中的每个子字符串,这意味着它将每个子字符串转换为 int。
示例:
arr = map(int, "12 34 56".split())
arr = list(arr) # to convert the iterable to a list
print(arr) # prints: [12, 34, 56]
# This is equivalent:
arr = [int("12"), int("34"), int("56")]
使用自定义函数代替 int() 的其他示例:
def increment(x):
return x + 1
arr = map(increment, [1, 2, 3, 4, 5])
arr = list(arr)
print(arr) # prints: [2, 3, 4, 5, 6]
if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())
在上面的代码中,map 函数有两个参数,我了解了第二个参数的作用,但我没有得到 'int' 参数。
假设我键入 5
,然后在第一个提示符处输入:
n = int(input())
会将输入“5”变成整数 5
。所以我们将从 string
变为 int
然后我们将得到另一个输入提示,因为我们在下一行再次有 input() :
这次我将输入 123 324 541 123 134
然后输入
.split()
会将其拆分为“123”、“324”、“541”、“123”、“134”,这是一个字符串列表(嗯 map
)。然后我们将 int
映射到它们上,给我们自己一个 int
的 map
而不是字符串。 int
将字符串转换为整数。
签出代码时,在 REPL 中尝试操作通常很有帮助(读取执行打印、循环程序)。在您的命令提示符中只需键入 python
或 python3
(如果您已安装或使用 replt.it)。输入 a = "123" + "321"
然后尝试 `a = int("123") + int("321")
用 list(map(int, input().split())) 包装它以获得 list
而不是 map
.
- map(function, iterable) Return 将 function 应用于 iterable 的每个项目的迭代器,产生结果。
- int(x) Return 由数字或字符串构造的整数对象 x.
因此,它将 return 一个可迭代对象,其中它将 int() 函数应用于 .split()
中的每个子字符串,这意味着它将每个子字符串转换为 int。
示例:
arr = map(int, "12 34 56".split())
arr = list(arr) # to convert the iterable to a list
print(arr) # prints: [12, 34, 56]
# This is equivalent:
arr = [int("12"), int("34"), int("56")]
使用自定义函数代替 int() 的其他示例:
def increment(x):
return x + 1
arr = map(increment, [1, 2, 3, 4, 5])
arr = list(arr)
print(arr) # prints: [2, 3, 4, 5, 6]