作者beebearwm (0.0)
看板Python
标题[问题] 删除元素的问题
时间Wed Oct 3 08:46:56 2018
最近刚学习python,遇到一些习题卡住了
问些基本的问题请见谅
假设要定义一个Remove(T,E)的方法,在T阵列里的E元素都要被移除
例子: Remove((0, 1, 2, 1, 3), 2))
>> (0,1,1,3)
Remove((), 1)
>> ()
且只要用lambda,filter或者map这三种函数实现的话,要怎麽写比较好呢
附上我目前的写法,虽然是错的QQ
def Remove(T, E):
f=lambda x: True if x not in E else False
return filter(f, T)
还有我在跑程式的时候,有时会出现<filter object at 0x000001C1E0347FD0>
类似这样的结果,请问可能是哪里出错了呢
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 131.212.248.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1538527618.A.E0F.html
1F:→ Kazimir: 很想说差集 科科 10/03 08:50
2F:→ beebearwm: E只有一个元素而已不是阵列,题目规定只能用那3个函数Q 10/03 08:58
3F:推 handsomeLin: 应该是return filter(T, lambda x: True if x != E e 10/03 09:33
4F:→ handsomeLin: lse False) 10/03 09:33
5F:→ mikapauli: Remove = lambda T, E: tuple(filter(E.__ne__, T)) 10/03 09:33
6F:→ handsomeLin: 说反了 10/03 09:33
7F:→ handsomeLin: return filter(T, lamba x: True if x != E else Fal 10/03 09:34
8F:→ handsomeLin: se) 10/03 09:34
9F:推 ckc1ark: f=lambda x: x!=E 就可以了 10/03 09:35
10F:→ handsomeLin: return filter(T, lambda x: x!=E) 其实这样就好了 10/03 09:36
11F:→ handsomeLin: 耍蠢了 10/03 09:36
12F:→ handsomeLin: 乾又蠢了 list跟lambda对调 10/03 09:37
13F:→ beebearwm: 谢谢你!!他还是显示filter object..,但我刚让他转型成 10/03 09:46
14F:→ beebearwm: list後就可以了,感谢!!! 10/03 09:47
15F:推 thefattiger: filter,map,reduce返回的都是generator 10/03 15:13