[js/python方法学习] sort函数

仅个人学习记录。

需求:一张数据表格里,包含不同类型的数据,比如包含了铁元素对应的数据,锰元素对应的数据等等,需要在这个大数据集里面分别对铁元素对应的数据降序排列、锰元素对应数据降序排列

1.直接排序。这个情况适用于知道有多少种类别

2.可以在sort函数里面循环,这个情况适用于不知道数据集里面有多种类别,不过这个方法应该更具有普适性。

arr=[a1,a2,a3,a,4,a5]

代码示例:data.sort(funtion(a,b){

for(var i = 0;i

    if(a==arr[i]&&b==arr[i]){ return b.num-a.num)

}

})

师姐的写法是if(a=b),她这种方法也可以 ,但是排序的时候有一部分会错位,也不知道为啥。我用上面那种方法不会错位。

关于python里面 的sort应用,分为sort和sorted,

sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作.

sort使用方法为arr.sort(),而sorted使用方法为sorted(arr)

语法:sorted(iterable[, cmp[, key[, reverse]]])

reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)

python3里对列表sorted的用法是:

sorted(stage2, key=lambda x: x[1], reverse=True)

stage2是个嵌套列表,x[1]是嵌套列表的每个元素(子列表)的第二个元素,如:

stage2=[[1,2],[3,2],[4,5]]

返回的是重新排序的列表。这里就是和js的不同之处,js如果排序的话,虽然返回的也是重排好的 列表,但是因为指针的原因(对于object类型的数据),并没有开辟新的空间,如果python的话,应该是开辟了新的空间了。

sort也可以这样写:arr.sort(stage2, key=lambda x: x[1], reverse=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值