python -- map / lambda usage

  • 参考代码的时候遇到 map() & lambda 的结合 感觉有点困惑 特此记录下来问题
            testPredict = y_test_predicted.reshape(4, )
            #If x>1.0 --> x=1.0; If x<0.0 --> x=0.0
            testPredict = map(lambda x: np.where(x > 1.0, 1.0, np.where(x >= 0.0, x, 0.0)), testPredict)
            predictData.append(testPredict)
            np.savetxt(predictData_filename, predictData, delimiter=',')

1. map()

  • map(fun,[arg]+)函数最少有两个参数,第一参数为一个函数名,第二个参数是对应的这个函数的参数(一般为一个或多个list)。
>>> s = [1,2,3]
>>> def fun(x):
...   return x + 1
...
>>> list(map(fun,s))
[2, 3, 4]
  • 多参数问题
>>> def fun(x,y,z):
...   return x*y*z
...
>>> list(map(fun,s,s,s))
[1, 8, 27]

lambda:func

  • 类似于一种匿名函数,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用。
>>> s = [1,2,3]
>>> map(lambda x:x+1,s)
[2, 3, 4]
>>> list(map(lambda x:x+1 , s))
[2, 3, 4]

你可能感兴趣的:(python3)