2015-02-10 5 views
-1

Есть ли способ написать функцию предиката, которая будет сравнивать две строки и посмотреть, какая из них больше? Сейчас у меня естьДва параметра в функции предиката

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

Однако я пытаюсь использовать функцию таким образом,

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

Пожалуйста, обратите внимание, что выше вызов функции, вероятно, неправильно, потому что мой helper1 является неполным. Но суть в том, что я пытаюсь сравнить две вещи, чтобы увидеть, если один это больше, чем другие, и детали l[1:] к l[0]

Разделить это функция, которая, учитывая предикат и список, делит этот список в кортеж, который имеет два списка, исходя из того, что предикат выйдет как. Divide очень длинный, поэтому я не думаю, что я должен опубликовать его здесь.

Так что, если предикат должен принимать только один параметр, как его записать, чтобы он принял один параметр?

ответ

1

Вы должны написать закрытие.

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

... 
new_tuple = divide(helper1(l[0]), l[1:]) 
... 
Смежные вопросы