问题描述
list=[(2,5),(1,2),(4,4),(2,3),1)]
def st(element):
return (element[1])
print(sorted(list,key=st))
有人可以解释该程序的工作原理吗?当return语句将5,2,4,3,1返回到已排序的函数时,如何获得已排序的元组列表? 相反,输出不应为[1,5]。因为只有第二个值返回到排序后的函数。
解决方法
sorted
函数将使用函数 st()
对列表(即整个元组)进行排序,以提供排序。 st()
函数绝不限制要排序的内容,仅限制用来决定如何排序的内容。
在为sorted
函数需要为每个元素回答的问题提供答案时,您可以想到它:确定放置位置时应使用该元素的值是什么?
输出为:
[(2,1),(1,2),(2,3),(4,4),5)]
是使用每个元组的第二项决定顺序的排序列表。