我正在尝试将地图转换为列表,但已返回TypeError: 'int' object is not callable
..有人可以向我解释吗?
n = int(input())
arr = list(map(n, input().split()))
for i in arr:
print(i)
错误:
arr = list(map(n, input().split()))
TypeError: 'int' object is not callable
答案 0 :(得分:2)
Python中的map函数接受第一个参数作为可调用函数,第二个参数作为可迭代函数。然后,可迭代项中的每一项都通过函数传递到输出map
对象中。
在您的示例中,n
被定义为由于行int
而从Stdin(输入)拉出的n = int(input())
。因此,上面的代码等效于以下代码:
n = int(input())
out = []
for element in input().split():
out.append( n(element) )
由于n
(作为int
)不能作为函数调用,因此该代码无法运行。
如果您要尝试将0 2 45 119
之类的输入转换为整数列表,则可以将map
的第一个参数传递为int
和int
将在提供的输入的每个元素上调用。