Python排序函数大全:sorted、sort、sort_values一次搞懂
一、序列排序
1. sorted()函数
sorted()函数是Python的内置函数,此函数不改变原序列,在排序后会生成一个新的序列。调用时,一般只需要给出一个序列即可,该序列可以是列表,字典,元组,字符串。其余参数取默认值,默认为升序排序。
最终结果将返回一个以列表为容器的返回值。若该序列为字典,将返回键的列表
list_1 = [2,5,3,9,6,4,1,3,0,2]
sorted(list_1)
#输出:
[0, 1, 2, 2, 3, 3, 4, 5, 6, 9]
#降序排序
list_1 = [2,5,3,9,6,4,1,3,0,2]
sorted(list_1,reverse=True)
#输出
[9, 6, 5, 4, 3, 3, 2, 2, 1, 0]
dict_1 = {9:'banana',4:'pear',7:'apple'}
sorted(dict_1)
#输出
[4, 7, 9]
2.sort()方法
sort()方法是Python中列表的内建函数,此方法改变原序列,即原地排序,不生成新的序列,且无返回值,默认为升序排序。字典、元组、字符串不具有sort()方法。
list_2 = [3,6,9,1,4] list_2.sort() print(list_2) [1, 3, 4, 6, 9] #降序排序 list_2 = [3,6,9,1,4] list_2.sort(reverse = True) print(list_2) [9, 6, 4, 3, 1]
3. sort()方法和sorted()函数的区别
(1)是否改变原有序列。
- sort()排序改变原有序列;
- sorted()排序生成一个新的序列,不改变原有的序列
(2)调用方式不一样。
- sort()调用:序列.sort()
- sorted()调用:sorted(序列,reverse=True/False)
二、表中排序(Python—Pandas)
1. 按值排序
将按照表中某一个字段的值进行排序
sort_values()函数是Pandas库里面的一个排序函数,其原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序。
语法:
DataFrame.sort_values(by='字段名',axis=0,ascending=True, inplace=False, na_position=‘last')
默认为升序排序,即ascending = True。
降序排序为:ascending = False
import pandas as pd
df=pd.DataFrame({'name':['张三','李四','王五'],
'class':[1,3,2],
'score':[98,94,100]})
print(df)
name class score
0 张三 1 98
1 李四 3 94
2 王五 2 100
print(df.sort_values(by = 'score'))
#降序排序将参数ascending = False 即可。
name class score
1 李四 3 94
0 张三 1 98
2 王五 2 100
2.按索引排序
通俗点讲,就是根据index的值进行排序,如果是按行排序,可以认为是根据index的值排序,如果是按列排序,可以认为是根据columns的值进行排序。
语法:
sort_index(axis=0, level=None, ascending=True, inplace=False, kind=‘quicksort', na_position=‘last',sort_remaining=True)
- axis:轴索引(排序的方向),0表示按index,1表示按columns。
- level:若不为None,则对指定索引级别的值进行排序
- ascending:是否升序排列,默认为True,表示升序
- inplace:默认为False,表示对数据表进行排序,不创建新的实例
- kind:选择排序算法。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
使用Protocol Buffers的C语言拓展提速Python程序的示例
这篇文章主要介绍了使用Protocol Buffers的C语言拓展提速Python程序的示例,使用C拓展Python是Python编程进阶中的重要技巧,需要的朋友可以参考下2015-04-04
解决python3.6 右键没有 Edit with IDLE的问题
这篇文章主要介绍了解决python3.6 右键没有 Edit with IDLE的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-03-03
详解Python的hasattr() getattr() setattr() 函数使用方法
这篇文章主要介绍了详解Python的hasattr() getattr() setattr() 函数使用方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2018-07-07


最新评论