㈠ python学习小技巧之列表项的排序
Python学习小技巧之列表项的排序
本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
典型代码1:
data_list = [6, 9, 1, 3, 0, 10, 100, -100]
data_list.sort()
print(data_list)
输出1:
[-100, 0, 1, 3, 6, 9, 10, 100]
典型代码2:
data_list = [6, 9, 1, 3, 0, 10, 100, -100]
data_list_ = sorted(data_list)
print(data_list)
print(data_list_)
输出2:
[6, 9, 1, 3, 0, 10, 100, -100]
[-100, 0, 1, 3, 6, 9, 10, 100]
应用场景
需要对列表中的项进行排序时使用。其中典型代码1是使用的列表自身的一个排序方法sort,这个方法自动按照升序排序,并且是原地排序,被排序的列表本身会被修改;典型代码2是调用的内置函数sort,会产生一个新的经过排序后的列表对象,原列表不受影响。这两种方式接受的参数几乎是一样的,他们都接受一个key参数,这个参数用来指定用对象的哪一部分为排序的依据:
data_list = [(0, 100), (77, 34), (55, 97)]
data_list.sort(key=lambda x: x[1]) # 我们想要基于列表项的第二个数进行排序
print(data_list)
>>> [(77, 34), (55, 97), (0, 100)]
另外一个经常使用的参数是reverse,用来指定是否按照倒序排序,默认为False:
data_list = [(0, 100), (77, 34), (55, 97)]
data_list.sort(key=lambda x: x[1], reverse=True) # 我们想要基于列表项的第二个数进行排序,并倒序
print(data_list)
>>> [(0, 100), (55, 97), (77, 34)]
带来的好处
1. 内置的排序方法,执行效率高,表达能力强,使代码更加紧凑,已读
2. 灵活的参数,用于指定排序的基准,比在类似于Java的语言中需要写一个comparator要方便很多
其它说明
1. sorted内置函数比列表的sort方法要适用范围更广泛,它可以对除列表之外的可迭代数据结构进行排序;
2. list内置的sort方法,属于原地排序,理论上能够节省内存的消耗;
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助
㈡ 怎样在python上实现冒泡排序整数数组结果升序输出
升序排序,就是通过比较前后相邻两个数的大小,将小的放前面,大的放后面。小的就相当于那个泡沫,就升上去了,故此得名冒泡排序
㈢ python让数字按升序排序的方法有哪些
sort 和sorted这两方法,区别在于sorted排序后会有一个返回值
㈣ 用python对10个数进行排序
sort_values(by,axis=0,ascending=True,inplace=False,kind='quicksort',na_position='last')
by:可以填入字符串或者字符串组成的列表。也就是说,如果axis=0,那么by="列名";如果axis=1,那么by="行名"。
axis:{0 or ‘index’, 1 or ‘columns’}, default 0,意思就是如果axis=0,就按照索引排序,即纵向排序;如果axis=1,则按列排序,即横向排序。默认是axis=0。
ascending:输入布尔型,True是升序,False是降序,也可以可以是[True,False],即第一个字段升序,第二个字段降序 。
inplace: 输入布尔型,是否用排序后的数据框替换现有的数据框(这个在之前的文章写过很多次了~)
kind:排序的方法,{‘quicksort’, ‘mergesort’, ‘heapsort’},默认是使用‘quicksort’。这个参数用的比较少,大家可以试一试。
na_position :{‘first’, ‘last’},缺失值的排序,也就说决定将缺失值放在数据的最前面还是最后面。first是排在前面,last是排在后面,默认是用last。
创建数据表:
scores=pd.DataFrame([[87,56,85],[46,87,97],[34,65,86]],
columns=['jack','rose','mike'])
scores
‘rose’这一列进行降序排序:
df_sc=scores.sort_values(by='rose',ascending=False)
df_sc
‘mike’这一列进行升序排序:
df_sc=scores.sort_values(by='mike',ascending=True)
df_sc
对第0行进行升序排序:
scores.sort_values(by=0,axis=1,ascending=True)
我们再尝试对第1行进行升序,第0行进行降序:
scores.sort_values(by=[1,0],axis=1,ascending=[True,False]
㈤ python, 非空元组列表中,如何对每个元组中元素的平均值按升序排序急求!代码打一下
用 List 类的 sort 方法可以很方便实现。
sample = [(2, 6, 4, 5), (1, 7), (4, 3, 4), (2, 3, 8, 1), (4,)]
sample.sort(key=lambda x: len(x))
sample.sort(key=lambda x: sum(x)/len(x))
第一次根据元组长度排序,保证长度较短的元素相对位置靠前(如果没有长度排序,直接进行平均值排序,元素 (1, 7) 会排在 (4,) 的前面,无法得到正确的顺序);
第二次根据元组元素的平均值排序,得到正确的结果;
排序后 sample 的输出结果:
[(2, 3, 8, 1), (4, 3, 4), (4,), (1, 7), (2, 6, 4, 5)]
㈥ python整数从小到大排序
lst=[2,56,4,9,17,30,7,8,24,1]
lst.sort()
#sort是列表的一个方法,默认会把列表里的数字按照升序排列
print(lst)
㈦ python如何对一组数排序
python对一组数排序的方法:
1、使用sorted()方法可以进行升序排序
2、可以operator模块方法进行多级排序
operator 模块方法允许多级排序。例如,可以先按 grade 排序,然后再按 age 排序
更多Python知识,请关注:Python自学网!!
㈧ python怎么升序和降序排序
python怎么升序和降序排序
推荐:《python视频教程》
1、首先打开cmd命令提示符,输入指令“ipython”打开python的命令行工具:
2、在命令行中先定义一个变量number数组,里面写入几个数,并用sorted函数对number排序并将排序的结果赋值给变量a,sorted函数第一个参数是要排序的参数,第二个是固定参数reverse表示倒序,True为开启:
3、最后打印输出a标量,就是降序输出了:
更多相关问题,请关注PHP中文网!以上就是小编分享的关于python怎么升序和降序排序的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
㈨ 怎样用python将数组里的数从高到低排序
1、首先我们定义一个列表输入一串大小不一的数字。
㈩ 如何给python重新合并的数据升序排列
rec1 = [2,3,4,5]
rec2 = [17, 16,15,14]
rec3 = rec1 + rec2
rec3.sort() #用排序函数,默认是升序排列
print(rec3)