当前位置:  开发笔记 > 编程语言 > 正文

如何通过自定义函数对列表进行排序?

如何解决《如何通过自定义函数对列表进行排序?》经验,为你挑选了1个好方法。

我正在做我的小作业.我想用我定义的函数对列表进行排序.

为exp.

list = [[1], [1,2,3,4,5,6,7], [1,2,3], [1,2], [1,2,3,4], [1,2,3,4,5,6,7,8]]
function1: (the length of every small list) / 10
function2: (the length of every small list) / 12
and the first 3 lists judged by function1, and the other by function2

我想要的结果是什么:

list = [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5,6,7,8],[1,2,3,4,5,6,7]]

我已经可以按照它的长度对列表进行排序而没有该功能,所以如果您有任何想法,请告诉我.谢谢!



1> MYGz..:

您可以使用内置sorted()函数实现它.您可以通过提供附加功能来指定您希望如何对可迭代元素进行排序key.在这里,您希望按元素的长度(即内部列表的长度)进行排序,因此您可以使用内置len()函数.您还可以实现自定义lambda函数.

alist = [[1], [1,2,3,4], [1,2], [1,2,3,4,5,6,7], [1,2,3], [1,2,3,4,5,6,7,8]]
sorted_list = sorted(alist, key=len)
print(sorted_list)

输出:

[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 6, 7, 8]]

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有