初学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)

然后排序的结果为:
初学python必会之冒泡排序_第1张图片

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

这里就有人会说了,用list1.sort()也可以进行排序:
初学python必会之冒泡排序_第2张图片确实,在只给列表排序时,用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[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])

初学python必会之冒泡排序_第3张图片

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

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

  原创不宜欢迎点赞!

你可能感兴趣的:(软件测试,python,列表)