[問題] 刪除元素的問題

作者: beebearwm (beebear)   2018-10-03 08:46:56
最近剛學習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>
類似這樣的結果,請問可能是哪裡出錯了呢
感謝!
作者: Kazimir (Kazimir)   2018-10-03 08:50:00
很想說差集 科科
作者: beebearwm (beebear)   2018-10-03 08:58:00
E只有一個元素而已不是陣列,題目規定只能用那3個函數Q
作者: handsomeLin (DoGLin)   2018-10-03 09:33:00
應該是return filter(T, lambda x: True if x != E else False)
作者: mikapauli (桜花)   2018-10-03 09:33:00
Remove = lambda T, E: tuple(filter(E.__ne__, T))
作者: ckc1ark (偽物)   2018-10-03 09:35:00
f=lambda x: x!=E 就可以了
作者: handsomeLin (DoGLin)   2018-10-03 09:36:00
return filter(T, lambda x: x!=E) 其實這樣就好了耍蠢了乾又蠢了 list跟lambda對調
作者: beebearwm (beebear)   2018-10-03 09:46:00
謝謝你!!他還是顯示filter object..,但我剛讓他轉型成list後就可以了,感謝!!!
作者: thefattiger (LT)   2018-10-03 15:13:00
filter,map,reduce返回的都是generator

Links booklink

Contact Us: admin [ a t ] ucptt.com