每日一练
利用python对列表元素进行排序:
lst =[1,9,4.5,10.6,5.7,-4.5]
作者:王玥
编辑:楠楠
训练类型:判断函数
python环境:python2.7
训练时长:20mins
思路简介
在上一周我们介绍了两种排序方法--选择排序法和插入排序法,这一次我们采用冒泡排序法对列表进行排列。
在排序过程中,列表中的每个数x可以看作是重量为x.key的气泡,根据轻气泡在上、重气泡在下的原则扫描列表X,越大的元素会经由交换慢慢“浮”到数列的顶端。如此反复进行,直到最后任何两个气泡都是轻者在上、重者在下为止。
第一步:比较相邻的元素。如果第一个比第二个大,就交换这两个元素的位置;
第二步:对第0个到第n-1个数做同样的工作。这时,最大的数就到了列表中的末位;
第三步:针对所有的元素重复以上的步骤,除了最后一个元素;持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
代码展示
#coding=utf-8
#上述语句是为了程序正确识别代码中的中文,不造成乱码
defbubblesort(lst):
#获得列表的长度
n= len(lst)
fori in range(n):
forj in range(1,n-i):
#如果前者比后者大
iflst[j-1] > lst[j] :
#则交换两者
lst[j-1],lst[j] = lst[j],lst[j-1]
returnlst
lst=[1,9,4.5,10.6,5.7,-4.5]
bubblesort(lst)
print(lst)
思考
冒泡排序和选择排序、插入排序的不同之处在哪里?
明日问题
如何利用python进行简单地爬虫?
领取专属 10元无门槛券
私享最新 技术干货