初学python必会之冒泡排序

对于现在的IT行业来说,越来越多的初学者,选择学习python:
第一,它简单易学,通俗易懂
第二,他可以用来开发测试自动化脚本
第三,它不断热门,越来越多的人选择python!
第四,python是全世界最好的语言!!

对于初学python的学者来说,除了那些基础的字符串,列表,元组,字典要学好之外,最重要的是要学会如何使用冒泡排序!

首先要先知道冒泡排序的原理:
我们先给大家一组简单的冒泡排序实例:
设list1=[1,9,4,6,2,7],给列表list里的元素从小到大排序:
list1=[1,9,4,6,2,7]
for i in range(0,len(list1)-1):
for j in range(i+1,len(list1)):
if list1[i]>list1[j]:
list1[i],list1[j]=list1[j],list1[i]
print(list1)

然后排序的结果为:
在这里插入图片描述

这就是最简单的冒泡排序了
他的原理就是:
用下标为0的元素与下标0+1的元素进行比较,如果前者比后者大,就换一个位置,注意,这里是=号,赋值的意思,而不是==
,这里将两个数对调,继续和后面的数进行比较,直到比到最后一位数字。
这里需要注意的是两个for循环与一个if判断,两个for循环的起始下标和if的判断条件。

这里就有人会说了,用list1.sort()也可以进行排序:
在这里插入图片描述确实,在只给列表排序时,用sort()更快更简洁

但是如果是以下情况,sort就无法满足排序需求了:
sDict1 = {“张飞”:78,“刘备”:80,“关羽”:70,“诸葛亮”:100,
“阿斗”:60,“赵云”:90,“曹操”:95,“曹丕”:86,“司马懿”:98}
#打印出分数排名前三名的同学名字
#打印出分数排名倒数3名的同学名
list_key=[]
list_value=[]
sDict2={}
for key,value in sDict1.items():
list_key.append(key)
list_value.append(value)
for i in range(0,len(list_value)-1):
for j in range(i+1,len(list_value)):
if list_value[i]<list_value[j]:
list_value[i],list_value[j]=list_value[j],list_value[i]
list_key[i],list_key[j]=list_key[j],list_key[i]

print(list_key[0:3])

在这里插入图片描述

当这种字典内容排序时,你就只能使用冒泡排序来解决问题了!

所以在未来工作中,学好冒泡排序还是很有必要的!

  原创不宜欢迎点赞!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值