2016-03-03 78 views
3

我仍然是編碼的初學者,特別是使用python。在我的一個新生班中,我們被介紹給球拍,這是一種非常類似於方案的功能性編程語言。在本課中,我們瞭解了andmapormap的功能。Python是否有andmap/ormap?

Python中是否有內建的andmapormap

+4

'all'和'any'應用功能的序列。 – L3viathan

+0

@ L3viathan在racket和map和ormap中應用了一個函數,該函數在每個可重用項上返回true或false,那麼只有當所有迭代項應用於輸入函數時返回true,andmap纔會返回true。當列表中的任何迭代項返回到應用函數時,Ormap都返回true。我查了所有,我認爲這些函數只是檢查/所有元素是否爲真。我錯了嗎? – Dzhao

+1

你試過了嗎?你能給我一個例子,說明'any'和'all'的行爲不像你期待的'andmap'和'ormap'? – L3viathan

回答

5

Python有適用的功能的序列map功能加上allany執行所andor功能。一旦違反條件,這些短路就會發生。

any(map(somefunction, sequence)) 
all(map(somefunction, sequence)) 

的Python也可以讓你迭代,並直接在語言

any(somefunction(x) for x in sequence) 
all(somefunction(x) for x in sequence) 
+0

啊,我知道python有地圖,但我想到一些方便的功能被構建到python中,將添加額外的步驟來檢查映射的結果是否通過了「all」或「any」測試。 (儘管我不知道「全部」和「任何」存在!) – Dzhao