Python-将变量传递给lambda(如果存在)
我很好奇如何在Python中提高代码的效率,我必须执行一个操作,根据列表的长度,该操作可能会附加负载,也可能不会附加负载 现在,我使用if语句来确定是否存在有效负载。有更好或更干净的方法找到这个吗Python-将变量传递给lambda(如果存在),python,lambda,Python,Lambda,我很好奇如何在Python中提高代码的效率,我必须执行一个操作,根据列表的长度,该操作可能会附加负载,也可能不会附加负载 现在,我使用if语句来确定是否存在有效负载。有更好或更干净的方法找到这个吗 #If payload, execute action with it if(len(data) > 1): action= mec.action(data[1])
#If payload, execute action with it
if(len(data) > 1):
action= mec.action(data[1])
#If no payload, then just execute action
else:
action= mec.action()
return action
代码按原样高效-不要为了效率而优化,先尝试为了清晰而优化。 如果代码成为性能热点。。。考虑一下效率
记住
返回
结束函数;这是一个稍微干净的替代方案:
# execute with payload if exists
if(len(data) > 1):
return mec.action(data[1])
# execute without payload
# this isn't reached if len(data) > 1
return mec.action()
代码按原样高效-不要为了效率而优化,先尝试为了清晰而优化。 如果代码成为性能热点。。。考虑一下效率
记住
返回
结束函数;这是一个稍微干净的替代方案:
# execute with payload if exists
if(len(data) > 1):
return mec.action(data[1])
# execute without payload
# this isn't reached if len(data) > 1
return mec.action()
Python附带了vararg语法,您可以直接使用它
return mec.action(*data[1:])
(我在这里假设
data[2]
以后没有意义,或者您可以使用mec.action(*data[1:2])
)Python附带了vararg语法,您可以直接用于此
return mec.action(*data[1:])
(我在这里假设
data[2]
以后的值没有意义,或者您可以使用mec.action(*data[1:2])
)在这种情况下,只需使用如下三元运算符:
return mec.action(data[1]) if(len(data) > 1) else mec.action()
希望有帮助 在这种情况下,只需使用如下三元运算符:
return mec.action(data[1]) if(len(data) > 1) else mec.action()
希望有帮助 你想要什么样的效率?理想的情况是更干净的代码/更好的逻辑。我认为这在时间上不可能变得更有效?它看起来很好:如果删除注释,代码仍然可以理解。我唯一想改变的是
if
语句:你不需要那些括号。你想要什么类型的效率?理想情况下更干净的代码/更好的逻辑。我认为这在时间上不可能变得更有效?它看起来很好:如果删除注释,代码仍然可以理解。我唯一想改变的是if
语句:你不需要那些括号。“首先尝试优化以获得清晰。”这可能需要很长时间才能在软件中学习。聪明的代码是维护者的祸根,包括你自己,从现在起6个月。编写干净的代码,分析性能,然后优化需要优化的内容。。。甚至模糊地“聪明”地评论任何东西的垃圾。“首先尝试优化以获得清晰性。”这可能需要很长时间才能在软件中学习。聪明的代码是维护者的祸根,包括你自己,从现在起6个月。编写干净的代码,分析性能,然后优化需要优化的内容。。。甚至模糊地“聪明”地评论任何东西的垃圾