python3map_[填坑] python3中的 map

起因

调试代码的时候报错说u_nodes_ratings, v_nodes_ratings = u_nodes_ratings.astype(np.int64), v_nodes_ratings.astype(np.int64)

TypeError: int() argument must be a string, a bytes-like object or a number, not 'map'

我靠,这是个什么错误,,调试了一上午,检查了所有的函数接口,并没有发现什么异常

直到将u_nodes_ratings的属性print出来

首先是print("u_nodes_ratings type", type(u_nodes_ratings))

# u_nodes_ratings type 并没有什么异常

但是,再次print(u_nodes_ratings)时

# 我靠,咋就从ndarray变成了map object了呢

这个map object又是啥

debug结果

这套代码是从python2改来的,python2和3有些返回类型存在差异

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

参考文献:如何在python 3中将map对象转换为numpy ndarray?​cloud.tencent.commap运行后提示错误map object at 0x0000028BEC618198​blog.csdn.net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值