Python3中map()函数报错,解决方法

def f(q):
    return q*q
print(map(f,[1,2,3,4,5,6,7,8,9,10]))

直接输出 报错 <map object at 0x02B23490>

原因是在python3里面,map()的返回值已经不再是list,而是iterators, 所以想要使用,只用将iterator 转换成list 即可, 比如 list(map()) 

def f(x):
    return x*x
list1 = list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
print(list1)

注意:map()函数不改变原有的 list,而是返回一个新的 list。 利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。

由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

未经允许不得转载:时光小站 » Python3中map()函数报错,解决方法

赞 (0) 打赏

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. k谢谢回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏