lambda表达式pythonlist_列表理解中lambda表达式中元组的处理

我正在学习python,当时我正在摆弄lambda表达式和列表理解,这时我意识到:

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

输出>>> 1,4但是

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

显示指向x左右括号的错误

lambda表达式的参数列表中似乎不能有括号。(在python3.x中签入)

现在我想问一下,如果不能在lambda表达式中的参数周围添加括号,那么如何使用map和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 function将整个元组记录作为name参数的参数。在

我想知道,如何处理lambda表达式中的元组。另外,请告诉我为什么在《学习python》(marklutz的《学习python》)这本书中写得这么好?是针对python2.x的吗?我是python新手。提前谢谢。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值