python 3.6 list(map())问题

map(lambda x: [ret_ttest.loc[x][0], ret_ttest.loc[x][1]], ret_ttest.index)

结果:
<map at 0x1e00aa38ef0>

list(map(lambda x: [ret_ttest.loc[x][0], ret_ttest.loc[x][1]], ret_ttest.index))

报错:---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-34-83f4c7c19c94> in <module>()
----> 1 ret_ttest_df = list(map(lambda x: ret_ttest.loc[x, ret_ttest.locx], ret_ttest.index))

TypeError: 'list' object is not callable

前几天升级了3.6,现在map对象不是在外面添加list()来转换吗

阅读 5.1k
2 个回答

用for 循环来迭代。
这样的

clipboard.png

这个map是惰性求值,返回的是类似一个迭代器的东西.看报错信息应该是你lambda表达式的问题,前一个不报错是因为没有执行.所以检查一下你传进去的lambda表达式是不是有问题.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题