使用Python的list+map不返回lambda函数

2024-09-28 03:23:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python测试Mediator pattern,但是当我用lambda测试方法时,我不知道为什么返回None

def requestPositions(self):
        return list(map(lambda airplane: airplane.position, self.airplanes))

这都是模式

我错过了return-onrequestPositions方法

class TrafficTower:
    def __init__(self):
        self.airplanes = []

    def requestPositions(self):
        return list(map(lambda airplane: airplane.position, self.airplanes))

class Airplane:
    def __init__(self, position, trafficTower):
        self.position = position
        self.trafficTower = trafficTower
        self.trafficTower.airplanes.append(self)

    def requestPositions(self):
        return self.trafficTower.requestPositions()


def main():
    airplane = Airplane(10, TrafficTower())
    #FIX why don't return list
    print(airplane.requestPositions())

if __name__ == "__main__":
    main()

Tags: lambdaselfmapreturninitmaindefposition

热门问题