根据第一个元素对元组列表进行排序

时间:2020-11-09 20:35:24

标签: python sorting tuples

我必须根据第二个元素对元组列表进行排序。我正在使用函数sort()这样做。但是,我的工作没用...

   def sort_tuple(to_sort):
        sort_tuple=((3, 'C'), (1, 'B'), (2, 'A'))
        sort_tuple.sort(key = lambda x: x[1])  
        return sort_tuple

如果我必须根据第一个元素对它进行排序,那么代码就是我写的内容吗?:

   def sort_tuple(to_sort):
        sort_tuple=((3, 'C'), (1, 'B'), (2, 'A'))
        sort_tuple.sort
        return sort_tuple

谢谢!

1 个答案:

答案 0 :(得分:-1)

def sort_tuple(to_sort):
   return tuple(sorted(to_sort, key = lambda x:x[1]))

sorted()返回已排序的对象,而不是对其进行排序(变异),因此这里它将把to_sort转换为列表并对其进行排序

然后,当您需要一个元组时,我们用sorted(to_sort, key = lambda x:x[1])将列表tuple()重新转换为元组