Python|排序和倒序

在处理数据的过程中常常会涉及到排序,根据数据的值进行排名。传统的排序算法有10种,主要包括了冒泡排序,选择排序,插入排序,希尔排序,归并排序等,有兴趣的朋友可以看一下《数据结构与算法》这本书。各类算法的时间复杂度和稳定性各不相同,在不同的情况下可以使用不同的排序方法。那么python中有这种简单的排序函数直接应用吗?sort()函数也许是个不错的选择。

今天,主要分享一下python常用的排序方法。

#我们以list为对象进行学习,使用random模块随机生成1-100的10个随机整数
import random#导入random包
random.seed(5)#种子的作用就是使每次随机取的数字一样可以进行复现
#这里一共10次循环,每次循环random.randint(1,100)会生成一个整数,加上[]代表每次值都进入列表中
list1 = [random.randint(1,100) for i in range(10)]
#从小到大排序,值得注意的是sort函数是直接在列表对象上进行,并不会返回新的列表
list1.sort()
print(list1)
#如果想要从大到小排序,reverse=True
list1.sort(reverse=True)
print(list1)
#但是sort函数只适用list对象,要是针对其他对象,可以使用sorted,sorted不是对列表进行改变,而是copy出一个副本并且返回排序好的list
list2 = set([random.randint(1,100) for i in range(10)])
list3=sorted(list2)
print()
#若想进行从大到小的排序,则与上边的函数一样,把reverse=True
list4=sorted(list2,reverse=True)
# print(list2,list3,list4)
#如果你不想list从大到小排序,只是想从右到左遍历list,形成倒序的数据,可以使用一下两种
#reversed是直接copy一个副本进行修改,它的返还值是一个迭代器,因此需要套个list可见
list6 = list(reversed(list2))
#reverse直接就是在对象上改的,并不会返回新的列表
#可以尝试print(list2.reverse()),是个None,直接print(list2)就可以展现倒序的list了
list2.reverse()

------------------------------------------

欢迎点赞收藏转发!

下次见!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值