跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 台語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 Filter(高階函式) 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
Filter(高階函式)
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
佇函式的語言程式設計內底,'''過濾器'''(filter)是一个高階函式,伊按某一種次序處理一个資料結構(伊通常是列表), 來產一个新的資料結構,伊精確的包括上早起資料結構中予定謂詞著其返回布林值 ` true ` 的遐的元素。 ==定義== ===Python=== 佇咧 Python 中,` filter ` 佇咧說明文件內底的語法是 ` filter ( function , iterable ) ` 會當用按呢若落去法度列表推導式實現在 Python 二中 ` filter ` 倒轉來一个 ` list `,啊若佇咧 Python 三中 ` filter ` 倒轉去一个迵天代的物件。 ===Haskell=== 佇咧 Haskell 中,` filter ` 會使如下按呢實現: 遮的 ` [] ` 指示空串列,` + + ` 是列表串接算子,而且 ` [ x | p x] ` 指示有條件持有一个值 ` x ` 的列表,若條件 ` p x ` 成立(求值為 ` True `)。 ==例== ===佇咧 Haskell 中代碼例=== 求值得著列表 ` 二 , 四 ,…, 十 `,這是通過應用謂詞 ` even ` 到整數列表 ` 一 , 二 ,…, 十 ` 的照原次序的所有元素,閣建立人講詞嘿其實轉去布林值 ` true ` 的遐的元素的一个新的列表,因為這个出的是干焦包括原列表的偶數成員的一个列表。顛倒反,代碼例: 求值得出列表 ` 一 , 三 ,…, 九 `,這是通過搜集整數列表 ` 一 , 二 ,…, 十 ` 中,伊講著其返回布林值 ` false ` 的遐的元素(遮的 ` . ` 是函式複合算子)。 ===佇咧 Python 三中代的碼例=== ===看會著的例=== 下跤是一个過濾器過程每一个步驟的可視演示,對整數列表 ` X=[零 , 五 , 八 , 三 , 二 , 一] ` 根據函式: : : $ f ( x )={ \ begin { cases } True & { \ text { if } } x \ equiv 零 { \ pmod { 二 } } \ \ False & { \ text { if } } x \ equiv 一 { \ pmod { 二 } } . \ end { cases } } $ 這个函式表達矣若 $ x $ 是偶數,愛轉去回值講是 $ True $,抑無是 $ False $,這是謂詞。 ==語言較== 過濾器是誠濟程式語言的標準函式,比如講 Haskell、OCaml、Standard ML 抑是 Erlang。Common Lisp 提供了函式的 ` remove-if ` 和 ` remove-if-not `。Scheme 實現要求(SRFI)一提供矣 Scheme 語言過濾器的一个實現。C + + 提供了演算法 ` remove _ if `(可變)和 ` remove _ copy _ if `(不可變); C + + 十一補充提供矣 ` copy _ if `(不可變)。 Smalltalk 為搜集提供了 ` select : ` 方法。過濾器閣會使佇支援列表推導式的語言使用伊來實現。 ==變體== 過濾器建立伊的結果而無修改上頭仔列表。有真濟程式語言閣提供破壞性修改列表實際參數的有閣較緊效能的變體。過濾器的其他變體(比如講 Haskell ` dropWhile ` 和 ` partition `)嘛是定定看著的。常見的純函式語言程式設計語言記憶體最佳化是有輸入列表並過濾結果共享上長尾部。 ==參見== * Map ( 高階函式 ) * Fold ( 高階函式 ) * 列表推導式 * 衛語句 ==參照== [[分類: 待校正]]
返回到「
Filter(高階函式)
」。