Home  >  Q&A  >  body text

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()来转换吗

伊谢尔伦伊谢尔伦2740 days ago930

reply all(2)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:21:00

    Use a for loop to iterate.
    Like this

    reply
    0
  • 高洛峰

    高洛峰2017-04-18 10:21:00

    This map is lazy evaluation and returns something similar to an iterator. Looking at the error message, it should be a problem with your lambda expression. The previous one did not report an error because it was not executed. So check whether the lambda expression you passed in is Not a problem.

    reply
    0
  • Cancelreply