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

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()

最佳答案

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

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

关于python - 使用Lambda函数时的Python无效语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26985583/

10-11 19:24