一维情况
比如要对alist = [3,1,2,4,5]
排序,sort和sorted的用法为
alist = [3,1,2,4,5]
new_list = sorted(alist)
alist.sort()
print(new_list)
print(alist)
结果为
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
sort作为列表的方法使用,写成list.sort()
sorted作为python内置函数,直接写成sorted(list)
二维情况
对二维数组某个特定的位置排序,比如对alist = [[2,4], [1,3], [3,6]]
中的第一列进行排序
alist = [[2,4], [1,3], [3,6]]
new_list = sorted(alist, key = lambda x:x[0])
alist.sort(key = lambda x:x[0])
print(new_list)
print(alist)
运行结果:
[[1, 3], [2, 4], [3, 6]]
[[1, 3], [2, 4], [3, 6]]
这里介绍一下key这个参数,key这个参数需要传入一个函数function,返回值作为比较的依据。
所以一般有2种使用:
1、使用一个函数,这个函数的操作对象就是要比较的数据元素,返回结果就是某个可以用来比较的Python类型的数据;
2、使用匿名函数lambda,通过简单表达式返回某个可以用来比较的Python类型的数据。
tip: lambda是匿名函数,后面跟的x只是参数名字,写成a,b,c,d都无所谓