python数字列表排序
1. 用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]
2. python如何对一组数排序
python对一组数排序的方法:
1、使用sorted()方法可以进行升序排序
2、可以operator模块方法进行多级排序
operator 模块方法允许多级排序。例如,可以先按 grade 排序,然后再按 age 排序
更多Python知识,请关注:Python自学网!!
3. 求一个简单的Python给数字排序代码
简单排序的话,直接使用 list.sort() 就可以了,直接在原列表上进行排序。
非要写成函数的形式的话,代码如下
defABC(nums_l):
nums_l.sort()
returnnums_l
l=[1,2,5,3,4]
#其实,使用l.sort()之后,就对l进行了排序,然后输出l就可以了
printl
printABC(l)
这样,输出为
>>>================================RESTART================================
>>>
[1,2,5,3,4]
[1,2,3,4,5]
>>>
这么基础的东西,不会的话,自己看书去。
defABC(nums_l):
returnsorted(nums_l)
defmain():
nums_l=[]
whileTrue:
try:
n=int(raw_input('inputnum:>').strip())
nums_l.append(n)
except:
break
print'',ABC(nums_l)
if__name__=='__main__':
main()
4. python怎样用自定义函数对列表排序
您好!我写了一个升序的方法供您参考:
请注意,要在 idle 中运行这个方法,并输入你希望的值
下面讲解一下:
方法体的第一句用于把你输入的数字储存在列表中,这句可以用于其他许多场合
后续的代码就是不断地递归,从而达到升序的效果
有不懂的可以问我哦~望采纳!
5. python 字符串行表中根据字符串内的数字进行排序。
你的列表A现在不就是按所含数字从大到小排列的吗?
不过,我还是用正则表达式的方法帮你排了一下序,如果你要数字从小到大排序,只要把alist.sort(key=sort_key,reverse=True)改成alist.sort(key=sort_key,reverse=False)就行了.
完整的Python程序如下
importre
defsort_key(s):
ifs:
try:
c=re.findall('d+$',s)[0]
except:
c=-1
returnint(c)
defstrsort(alist):
alist.sort(key=sort_key,reverse=True)
returnalist
A=['abc15','abd13','abe9','abf6','abg2']
print(strsort(A))
6. python整数从小到大排序
lst=[2,56,4,9,17,30,7,8,24,1]
lst.sort()
#sort是列表的一个方法,默认会把列表里的数字按照升序排列
print(lst)
7. 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方法,属于原地排序,理论上能够节省内存的消耗;
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助
8. Python中,如何给列表排序
Python中给列表排序的方式有很多,可以自己实现,也可以用Python提供的方法
使用Python提供的方法:
列表.sort()
列表.sort(reverse=True)
自己实现:
num_list = [64, 34, 25, 12, 22, 11, 90]
print(num_list)
n = len(num_list)
# 遍历所有数组元素
for i in range(n):
for j in range(0, n - i - 1):
if num_list[j] > num_list[j + 1]:
num_list[j], num_list[j + 1] = num_list[j + 1], num_list[j]
print(num_list)
代码发到这边格式有点乱,有需要的话可以去到黑马程序员社区。有很多计算机技术的基础入门和高级进阶的内容,源码什么的也都有。
9. python中怎么让前5个升序,后五个降序,派Python中输入十个数字,怎么让前五个升序
分成两个列表分别排序,代码如下:
s = input().split()
l1 = [ int(x) for x in s[:5] ] # 前5个数字
l2 = [ int(x) for x in s[-5:] ] # 后5个数字
l1.sort() # 前5个数字升序
l2.sort(reverse=True) # 后5个数字降序
print(l1 + l2)
运行结果如下:
输出符合题意,望采纳~
10. python输入10个数并进行排序
#python
s = []
for i in range(10): #循环输入10个数
s.append(int(input())) #输入字符转换为整数型,浮点为folat(input()).
print(sorted(s)) #输出由低到高的排序