看板 Python 關於我們 聯絡資訊
最近剛學習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://www.ptt.cc/bbs/Python/M.1538527618.A.E0F.html
Kazimir: 很想說差集 科科 10/03 08:50
beebearwm: E只有一個元素而已不是陣列,題目規定只能用那3個函數Q 10/03 08:58
handsomeLin: 應該是return filter(T, lambda x: True if x != E e 10/03 09:33
handsomeLin: lse False) 10/03 09:33
mikapauli: Remove = lambda T, E: tuple(filter(E.__ne__, T)) 10/03 09:33
handsomeLin: 說反了 10/03 09:33
handsomeLin: return filter(T, lamba x: True if x != E else Fal 10/03 09:34
handsomeLin: se) 10/03 09:34
ckc1ark: f=lambda x: x!=E 就可以了 10/03 09:35
handsomeLin: return filter(T, lambda x: x!=E) 其實這樣就好了 10/03 09:36
handsomeLin: 耍蠢了 10/03 09:36
handsomeLin: 乾又蠢了 list跟lambda對調 10/03 09:37
beebearwm: 謝謝你!!他還是顯示filter object..,但我剛讓他轉型成 10/03 09:46
beebearwm: list後就可以了,感謝!!! 10/03 09:47
thefattiger: filter,map,reduce返回的都是generator 10/03 15:13