gpt4 book ai didi

python - 在列表理解中处理 lambda 表达式中的元组

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:24 29 4
gpt4 key购买 nike

<分区>

我正在学习 python,当我意识到:

>>> list(map(lambda x: x*x, [1,2]))

输出 >>> 1,4 但是

>>> list(map(lambda (x): x*x, [1,2]))显示指向 x

周围括号的错误

看来 lambda 表达式不能在其参数列表周围加上括号。 (在 python 3.x 中检查)

我现在想问一下,如果我不能在lambda 表达式中的参数周围添加括号,那么我如何使用映射和lambda 表达式来处理元组。例如:

>>> records = [('bob', 35, 'manager'), ('sue', 40, 'developer')]
>>> list(map((lambda (name, age, job): age), records))

此语句显示语法错误,指示 name 参数前的括号。然后我尝试了一个没有括号的表达式:

>>> list(map((lambda name, age, job: age), records))

但是这个语句也显示了一个错误,说 lambda 表达式需要 3 个参数,但只提供了 1 个。

我知道 map 函数正在从 records 列表中提取整个记录元组并将其传递给 lambda 函数,而 lambda 函数 正在获取整个元组record 作为 name 参数的参数。

我想知道,如何处理 lambda 表达式中的元组。还请告诉我为什么(Mark Lutz 的《Learning python》) 这本书这么写?它适用于 python 2.x 吗?我是 python 的新手。提前致谢。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com