2016-01-12 2 views
3
# Given a list of non-empty tuples, return a list sorted in increasing 
# order by the last element in each tuple. 
# e.g. [(1, 7), (1, 3), (3, 4, 5), (2, 2)] yields 
# [(2, 2), (1, 3), (3, 4, 5), (1, 7)] 
# Hint: use a custom key= function to extract the last element form each tuple. 

решения для этого:Python - кортежи сортировочных

def last(a): 
     return a[-1] 
    def sort_last(tuples): 
     return sorted(tuples, key=last) 

Может ли один помочь мне в понимании того, какие аргументы передаются в последний function.in конкретных, что делает содержит? мы не передали никаких значений или аргументов при вызове «последней» функции в отсортированном методе. пожалуйста помоги.

ответ

0

Это то, что называется «лямбдой».

Он передает текущий элемент вашего списка функции «последний», которая затем получит последний элемент кортежа.

Таким образом, параметр «a» является обработанным кортежем.

+1

Это не лямбда. Лямбдас говорит «лямбда» на фронте. Мы передаем именованную функцию как «ключ» здесь. – user2357112

+0

Используется значение из списка, обрабатываемого сортированной функцией. https://en.wikipedia.org/wiki/Lambda_calculus Это вариация лямбда. – crey4fun

+1

Не имеет значения. Lambdas - специфическая синтаксическая конструкция для создания функций; независимо от того, является ли функция лямбдой или нет, не имеет никакого отношения к тому, как эта функция используется. – user2357112

Смежные вопросы