仅个人学习记录。
需求:一张数据表格里,包含不同类型的数据,比如包含了铁元素对应的数据,锰元素对应的数据等等,需要在这个大数据集里面分别对铁元素对应的数据降序排列、锰元素对应数据降序排列
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)