【发布时间】:2016-01-12 19:53:18
【问题描述】:
给定一个非空元组列表,返回一个按每个元组中最后一个元素升序排序的列表。
例如[(1, 7), (1, 3), (3, 4, 5), (2, 2)] 产生 [(2, 2), (1, 3), (3, 4, 5), ( 1, 7)]
提示:使用自定义 key= 函数从每个元组中提取最后一个元素。
问题的解决方法是:
def last(a):
return a[-1]
def sort_last(tuples):
return sorted(tuples, key=last)
谁能帮我理解传递给last 函数的参数是什么?具体来说,a 包含什么?
在sorted 方法中调用last 函数时,我们没有传递任何值或参数。
【问题讨论】:
-
你根本没有给
last()打电话。sorted()是调用该函数的那个,并且对传递给它的序列的每个元素执行一次。