Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请解释一下这个Lambda表达式在Python中的用法_Python_Lambda_Manageiq - Fatal编程技术网

请解释一下这个Lambda表达式在Python中的用法

请解释一下这个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

我对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'),
    }
]


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,
    }
]