【发布时间】:2018-04-26 14:31:01
【问题描述】:
对不起,我是新手 python 编码器。 我在 PyCharm 中编写了这段代码:
lst_3 = [1, 2, 3]
def square(lst):
lst_1 = list()
for n in lst:
lst_1.append(n**2)
return lst_1
print(list(map(square,lst_3)))
我有这种类型的错误:TypeError: 'int' object is not iterable。 我的代码有什么错误?
【问题讨论】:
-
我看到你发布的代码有一个奇怪的缩进,你能解决这个问题吗?
-
map有一个对每个元素进行操作的函数——在你的例子中是一个标量。 -
当您将
mapsquare转为lst_3时,每个数字依次传递给square。您无需对数字进行迭代。 -
你可以做
list(map(lambda x: x**2, lst_3))
标签: python python-3.x typeerror