[問題] 刪除元素的問題

看板Python作者 (0.0)時間6年前 (2018/10/03 08:46), 編輯推噓3(3012)
留言15則, 6人參與, 6年前最新討論串1/1
最近剛學習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

10/03 08:50, 6年前 , 1F
很想說差集 科科
10/03 08:50, 1F

10/03 08:58, 6年前 , 2F
E只有一個元素而已不是陣列,題目規定只能用那3個函數Q
10/03 08:58, 2F

10/03 09:33, 6年前 , 3F
應該是return filter(T, lambda x: True if x != E e
10/03 09:33, 3F

10/03 09:33, 6年前 , 4F
lse False)
10/03 09:33, 4F

10/03 09:33, 6年前 , 5F
Remove = lambda T, E: tuple(filter(E.__ne__, T))
10/03 09:33, 5F

10/03 09:33, 6年前 , 6F
說反了
10/03 09:33, 6F

10/03 09:34, 6年前 , 7F
return filter(T, lamba x: True if x != E else Fal
10/03 09:34, 7F

10/03 09:34, 6年前 , 8F
se)
10/03 09:34, 8F

10/03 09:35, 6年前 , 9F
f=lambda x: x!=E 就可以了
10/03 09:35, 9F

10/03 09:36, 6年前 , 10F
return filter(T, lambda x: x!=E) 其實這樣就好了
10/03 09:36, 10F

10/03 09:36, 6年前 , 11F
耍蠢了
10/03 09:36, 11F

10/03 09:37, 6年前 , 12F
乾又蠢了 list跟lambda對調
10/03 09:37, 12F

10/03 09:46, 6年前 , 13F
謝謝你!!他還是顯示filter object..,但我剛讓他轉型成
10/03 09:46, 13F

10/03 09:47, 6年前 , 14F
list後就可以了,感謝!!!
10/03 09:47, 14F

10/03 15:13, 6年前 , 15F
filter,map,reduce返回的都是generator
10/03 15:13, 15F
文章代碼(AID): #1Rj162uF (Python)
文章代碼(AID): #1Rj162uF (Python)