作者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/m.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