2016-01-12 59 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具體是什麼一個包含哪些內容?我們在排序方法中調用「last」函數時沒有傳遞任何值或參數。請幫忙。

回答

0

這就是所謂的「lambda」。

它將您列表的當前元素傳遞給函數「last」,該函數將獲取元組的最後一個元素。因此參數「a」是當前處理的元組。

+1

這不是拉姆達。 Lambdas在前面說'lambda'。我們在這裏傳遞一個命名函數作爲'key'。 – user2357112

+0

它使用正在排序的函數處理的列表中的值。 https://en.wikipedia.org/wiki/Lambda_calculus這是一個lambda的變體。 – crey4fun

+1

不相關。 Lambdas是創建函數的特定語法結構;函數是否是lambda與函數的使用方式無關。 – user2357112