将地图转换为列表返回TypeError:'int'对象不可调用

时间:2018-10-06 12:12:50

标签: python python-3.x

我正在尝试将地图转换为列表,但已返回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

1 个答案:

答案 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的第一个参数传递为intint将在提供的输入的每个元素上调用。