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


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

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

  • map(function,iterable(返回一个迭代器,该迭代器将函数应用于iterable的每个项,生成结果
  • int(x(返回由数字或字符串x构造的整数对象

因此,它将返回一个可迭代函数,其中它将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]

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

n = int(input())

将输入"5",并将其转换为整数5。所以我们要从stringint

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

.split()将其拆分为"123"、"324"、"541"、"123"one_answers"134",这是一个字符串列表(也是map(。然后我们将把int映射到它们上,给自己一个ints的map,而不是字符串。int将字符串转换为整数。

当签出代码时,在REPL(读取-执行-打印,looper(中尝试通常是有帮助的。在命令提示符中,如果已安装或使用replt.it,只需键入pythonpython3。键入a = "123" + "321",然后尝试`a=int("123"(+int("321"(

用list(map(int,input((.split(((将其包装起来,得到list而不是map

相关内容

  • 没有找到相关文章

最新更新