当前位置:   article > 正文

使用 sorted() 为元素为列表的列表进行排序_sorted 对列表排序

sorted 对列表排序

问题描述:

需要对一个形如


lst = [['1', '2'], ['2', '1'], ['2', '2'], ['4', '4'], ['2', '4'], ['3', '3'], ['2', '5'], ['1', '1'], ['4', '10'], ['1', '3'], ['10', '10'], ['5', '10'], ['3', '5'], ['4', '6'], ['4', '1'], ['8', '8']]

  • 1
  • 2
  • 3

的列表进行排序。要求子列表的排序是按照子列表中第一个元素和第二个元素的数值大小进行排序。

解决方法:

sorted() 可以对所有可迭代对象(iterable)进行排序, 排序后返回一个新的list,而不会修改该原来的对象。
sort() 会对以及存在的列表进行操作,没有返回值,而且只能作用于列表。

sorted 语法:

sorted(iterable, cmp=None, key=None, reverse=False)
iterable – 可迭代对象。
cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

出处

所以解决的代码也十分简单


new_list = sorted(lst, key= lambda sub_lst:int(sub_lst[0])*100+int(sub_lst[1]))

  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/722988
推荐阅读
相关标签
  

闽ICP备14008679号