所以我想出了这样的办法:
def someFunction(carPool):
dict = {
'redcars': models.RedCar.query.all(),
'bluecars': models.BlueCar.query.all(),
'greencars': models.GreenCar.query.all()
}
cars = dict[carPool.lower()]
但这里的问题是,每次调用此函数时,所有3个查询都将运行,其结果将存储在字典中
所以我想问,是否有任何方法可以做类似的事情,但不运行所有查询或不编写一堆if-else
在研究复制switch语句的方法的堆栈溢出时,我遇到了一个解决方案,该解决方案有一个使用lambda函数作为值的字典,因此我提出了以下建议:
也许这不是最好的解决方案,但它完成了任务,所以我将把它留在这里,也许其他人会发现它很有用,并保存一些代码行
相关问题 更多 >
编程相关推荐