2015-02-10 102 views
-1

有沒有一種方法可以編寫一個謂詞函數來比較兩個字符串並查看哪一個更大?現在我有謂詞函數中的兩個參數

def helper1(x, y): 
    return x > y 

不過,我想使用的功能以這種方式,

new_tuple = divide((helper1(some_value, l[0]),l[1:])

請注意,上面的函數調用可能是錯誤的,因爲我的輔助函數,是不完整的。但要點是我試圖比較兩個項目,看看是否大於另一個,並且項目是l[1:]l[0]

除法是一個函數,給定一個謂詞和一個列表,將該列表分成一個有兩個列表的元組,基於謂詞的出現。鴻溝很長,所以我不認爲我應該在這裏發佈。

因此,如果給定一個謂詞應該只帶一個參數,那麼我應該如何編寫它以便它需要一個參數?

回答

1

你應該寫一個閉包。

def helper(x): 
    def cmp(y): 
    return x > y 
    return cmp 

... 
new_tuple = divide(helper1(l[0]), l[1:]) 
...