请解释一下这个Lambda表达式在Python中的用法
我对Lambda表达式的概念有点纠结,这里有一段代码:请解释一下这个Lambda表达式在Python中的用法,python,lambda,manageiq,Python,Lambda,Manageiq,我对Lambda表达式的概念有点纠结,这里有一段代码: nav.add_branch( 'containers_pods', { 'containers_pod': [ lambda ctx: list_tbl.select_row_by_cells( {'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}), { 'containers
nav.add_branch(
'containers_pods',
{
'containers_pod':
[
lambda ctx: list_tbl.select_row_by_cells(
{'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}),
{
'containers_pod_edit_tags':
lambda _: pol_btn('Edit Tags'),
}
],
'containers_pod_detail':
[
lambda ctx: list_tbl.click_row_by_cells(
{'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}),
{
'containers_pod_timelines_detail':
lambda _: mon_btn('Timelines'),
'containers_pod_edit_tags_detail':
lambda _: pol_btn('Edit Tags'),
}
]
}
)
谁能给我解释一下Lambda表达式在这里的用法吗?
以下是有关此代码的更多信息:
谢谢 lambda是匿名函数,您可以替换此块
[
lambda ctx: list_tbl.select_row_by_cells(
{'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}),
{
'containers_pod_edit_tags':
lambda _: pol_btn('Edit Tags'),
}
]
与
lambda:
中的下划线
是一个用于不打算使用的变量的“一次性”变量,因为您可以看到lambda/函数没有使用参数\u
,这一点突然变得清晰多了。。谢谢!你说的“解释”是什么意思?你是说语法吗?兰姆达斯到底在做什么?为什么在这一点上有它们是有用的?@bakkal在下面解释得很好,然后请在你的问题中澄清,以便其他阅读它的人不看整个线程就知道它。
def function_1(ctx):
return list_tbl.select_row_by_cells(
{'Name': ctx['pod'].name, 'Provider': ctx['provider'].name}
)
def function_2(_):
return pol_btn('Edit Tags')
[
function_1,
{
'containers_pod_edit_tags':
function_2,
}
]