请教一个python问题

请写出下列运行最终结果>>>seq=[11,10,9,9,10,10,9,8,23,9,7,18,12,11,12]>>>filter(lambdax:x%2,seq)顺... 请写出下列运行最终结果
>>>
seq = [11, 10, 9, 9, 10, 10, 9, 8, 23, 9, 7, 18, 12, 11, 12]
>>>
filter(lambda x: x % 2, seq)

顺便帮忙解释一下,谢谢!
展开
 我来答
assistant2012_
2012-08-31 · 超过36用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:94.8万
展开全部
最终结果是一个列表 seq中的所有奇数列表
[11, 9, 9, 9, 23, 9, 7, 11]

seq = [11, 10, 9, 9, 10, 10, 9, 8, 23, 9, 7, 18, 12, 11, 12] # 定义一个列表

filter(lambda x: x % 2, seq) # 比较复杂

lambda x: x % 2 # 意思是创建一个匿名函数,这个函数的参数是 x ,返回 x%2,即 x除以2的余数,可能是0或1,根据返回值,可以判断出x是奇数还是偶数。

filter( 匿名函数, seq) # 意思是用“匿名函数”来遍历 seq 中的每一个数值,返回一个使函数返回值为true的元素的序列。

将filter(lambda x: x % 2, seq) 用python代码解释一下如下
def t(x): # 相当于匿名函数
return x % 2

r = [] # 定义最终生成列表
for i in seq: # 遍历seq
if t(i):r.append(i) # 调用函数 t(i),如果返回值为 True ,则将 i 加入到 r 中。

用简单一些的代码如下:
[ i for i in seq if i % 2 == 1 ] # i会遍历seq,符合条件 i%2==1的值会生成最终列表
wanghan519
2012-08-30 · TA获得超过7820个赞
知道小有建树答主
回答量:1285
采纳率:60%
帮助的人:539万
展开全部
filter(<判断函数,真的留下,假的不要>,<要判断的序列>)

lambda x:x%2
返回除以2的余数,作为判断函数返回0就是假,其他为真。

综合起来,取出seq中不能被2整除的数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-30
展开全部
把那个列表的数据全部%2
相当于[x % 2 for x in seq]

r = []
for x in seq:
r.append(x % 2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式