使用lambda函数时Python语法无效

时间:2014-11-18 02:29:18

标签: python syntax

有人可以向我解释为什么这是一个无效的语法?它出现在最后一行之前的行中。

import random

class BernoulliArm():

    def __init__(self, p):
         self.p=p

    def draw(self):
        if random.random()>self.p:
            return 0.0
        else:
            return 1.0

means = [0.1, 0.1, 0.1, 0.1, 0.9]
n_arms = len(means)
random.shuffle(means)    

arms = map(lambda (mu):BernoulliArm(mu), means)    
arms[0].draw()

1 个答案:

答案 0 :(得分:2)

在Python中,lambda不在参数名称周围使用括号:

arms = map(lambda mu: BernoulliArm(mu), means)