Python 如何将lambda函数转换为def格式?
我在这里找到了一个问题的答案(),但我还没有学会如何使用lambdasPython 如何将lambda函数转换为def格式?,python,python-2.7,function,Python,Python 2.7,Function,我在这里找到了一个问题的答案(),但我还没有学会如何使用lambdas prune = lambda tree : [prune(branch) for branch in tree if branch != []] l = [[[[], []], [[], []]], [[], [], []]] print prune(l) 我查看了许多网站,但似乎无法将其转换为常规功能,如: def prune(tree): for branch in tree: if bran
prune = lambda tree : [prune(branch) for branch in tree if branch != []]
l = [[[[], []], [[], []]], [[], [], []]]
print prune(l)
我查看了许多网站,但似乎无法将其转换为常规功能,如:
def prune(tree):
for branch in tree:
if branch!=[]:
prune(branch)
return branch
print prune([[[[], []], [[], []]], [[], [], []]])
有人能告诉我修剪前和修剪后的大方括号是什么吗?你所要做的就是在前面打一个
回车键
def prune(tree):
return [prune(branch) for branch in tree if branch != []]
如果您想分解-并且没有真正的理由,那么:
def prune(tree):
for branch in tree:
if branch != []:
yield prune(branch)
或:
你所要做的就是在前面打一个return
def prune(tree):
return [prune(branch) for branch in tree if branch != []]
如果您想分解-并且没有真正的理由,那么:
def prune(tree):
for branch in tree:
if branch != []:
yield prune(branch)
或:
lambda始终可以通过一条返回语句轻松转换为def:
f = lambda a: b
总是几乎与相同
def f(a):
return b
如果您需要在不理解列表的情况下进行示例:
def prune(tree):
ret = []
for branch in tree:
if branch!=[]:
ret.append(prune(branch))
return ret
lambda始终可以通过一条返回语句轻松转换为def:
f = lambda a: b
总是几乎与相同
def f(a):
return b
如果您需要在不理解列表的情况下进行示例:
def prune(tree):
ret = []
for branch in tree:
if branch!=[]:
ret.append(prune(branch))
return ret
return[如果分支!=[]则修剪树中的分支!
大方括号围绕一个分支。顺便说一句,在Python中,对命名函数使用lambda
通常被认为是不好的风格。它们应该用于匿名函数,因此将它们附加到一个名称上有点违背了目的。;)<代码>返回[如果分支!=[]则修剪树中的分支!
大方括号围绕一个分支。顺便说一句,在Python中,对命名函数使用lambda
通常被认为是不好的风格。它们应该用于匿名函数,因此将它们附加到一个名称上有点违背了目的。;)