Python——元组排序

Python——元组排序,python,list,sorting,tuples,Python,List,Sorting,Tuples,解决方案: # 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 extr

解决方案:

# 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.
有人能帮我理解传递给最后一个函数的参数吗?具体来说,a包含什么?在排序方法中调用“last”函数时,我们没有传递任何值或参数。请帮忙。

这就是所谓的“lambda”

它将列表的当前元素传递给函数“last”,该函数将获得元组的最后一个元素

因此参数“a”是当前正在处理的元组。

这就是所谓的“lambda”

它将列表的当前元素传递给函数“last”,该函数将获得元组的最后一个元素


因此,参数“a”是当前正在处理的元组。

通过for循环迭代元组-(带有元组第二个元素的已排序初始列表) 嵌套for循环-将原始元组与排序的第二个元素列表进行比较

tuple1=[(2,5)、(1,2)、(4,4)、(2,3)、(2,1)]
列表2=[]
列表3=[]
对于tuple1中的t:
清单2.append(t[1],)
列表2.sort()
打印(列表2)
对于清单2中的l:
对于tuple1中的q:
如果l==int(q[1],):
清单3.append(q)
打印(列表3)

通过for循环迭代元组-(使用元组的第二个元素对初始列表进行排序。) 嵌套for循环-将原始元组与排序的第二个元素列表进行比较

tuple1=[(2,5)、(1,2)、(4,4)、(2,3)、(2,1)]
列表2=[]
列表3=[]
对于tuple1中的t:
清单2.append(t[1],)
列表2.sort()
打印(列表2)
对于清单2中的l:
对于tuple1中的q:
如果l==int(q[1],):
清单3.append(q)
打印(列表3)

这不是lambda。lambda在前面说
lambda
。我们在这里传递一个名为
键的命名函数。它使用排序函数处理的列表中的值。这是lambda的一个变种,不相关。lambda是用于创建函数的特定语法结构;函数是否为lambda与函数的使用方式无关。@crey4fun感谢您的帮助。这不是lambda。lambda在前面说
lambda
。我们在这里传递一个名为
键的命名函数。它使用排序函数处理的列表中的值。这是lambda的一个变种,不相关。lambda是用于创建函数的特定语法结构;函数是否为lambda与函数的使用方式无关。@crey4fun感谢您的帮助。您好,用户13557829,请阅读。祝您在这里过得愉快:)嗨,用户13557829,请阅读。祝您在这里过得愉快:)
    def last(a): 
       return a[-1]
    def sort_last(tuples):  
       return sorted(tuples, key=last)