请用 Python 向我解释这个 Lambda 表达式的用法
Please explain me this Lambda expression usage with Python
我对 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_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'),
}
]
和
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,
}
]
lambda _:
中的下划线 _
是一个 convention in Python 表示您不打算使用的变量,一个 "throwaway",如您所见 lambda/function 没有使用参数 _
.
我对 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_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'),
}
]
和
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,
}
]
lambda _:
中的下划线 _
是一个 convention in Python 表示您不打算使用的变量,一个 "throwaway",如您所见 lambda/function 没有使用参数 _
.