Python 3的`map`函数中的`int`参数是什么?

时间:2018-07-29 18:02:23

标签: python python-3.x dictionary int map-function

if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())

在上面的代码中,使用两个参数的map函数,我了解了第二个参数的作用,但没有得到'int'参数。

2 个答案:

答案 0 :(得分:2)

假设我输入5,然后在第一个提示下输入:

n = int(input())

将输入“ 5”设为整数5。因此,我们正在从stringint

然后,我们将得到另一个输入提示,因为我们在下一行中再次具有input(): 这次,我将输入123 324 541 123 134,然后输入。

.split()会将其分为“ 123”,“ 324”,“ 541”,“ 123”,“ 134”,这是一个字符串列表(以及map)。然后,我们将int映射到它们上,以得到map的{​​{1}}而不是字符串。 int将字符串转换为整数。

在签出代码时,尝试使用REPL(读取执行打印,循环程序)通常会很有帮助。如果已安装或使用replt.it,则在命令提示符中键入intpython。输入python3,然后尝试`a = int(“ 123”)+ int(“ 321”)

使用list(map(int,input()。split()))将其包装以获得a = "123" + "321"而不是list

答案 1 :(得分:2)

  • map(function, iterable)采用了一个函数,该函数适用于作为第二个参数传递的列表的所有元素。
  • int(x)是一个返回构造的整数对象的函数 来自数字或字符串x。

因此,它将对.split()中的每个字符串应用int()函数只是一个可迭代的过程,这意味着它将所有条目都转换为int。

示例:

arr = map(int, "12 34 56".split())
print(list(arr)) # prints: [12, 34, 56]