if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())
在上面的代码中,使用两个参数的map函数,我了解了第二个参数的作用,但没有得到'int'参数。
答案 0 :(得分:2)
假设我输入5
,然后在第一个提示下输入:
n = int(input())
将输入“ 5”设为整数5
。因此,我们正在从string
到int
然后,我们将得到另一个输入提示,因为我们在下一行中再次具有input():
这次,我将输入123 324 541 123 134
,然后输入。
.split()
会将其分为“ 123”,“ 324”,“ 541”,“ 123”,“ 134”,这是一个字符串列表(以及map
)。然后,我们将int
映射到它们上,以得到map
的{{1}}而不是字符串。 int
将字符串转换为整数。
在签出代码时,尝试使用REPL(读取执行打印,循环程序)通常会很有帮助。如果已安装或使用replt.it,则在命令提示符中键入int
或python
。输入python3
,然后尝试`a = int(“ 123”)+ int(“ 321”)
使用list(map(int,input()。split()))将其包装以获得a = "123" + "321"
而不是list
。
答案 1 :(得分:2)
因此,它将对.split()
中的每个字符串应用int()函数只是一个可迭代的过程,这意味着它将所有条目都转换为int。
示例:
arr = map(int, "12 34 56".split())
print(list(arr)) # prints: [12, 34, 56]