首页 > 编程语言 > 详细

python学习笔记04:冒泡排序

时间:2020-05-07 01:40:40      阅读:50      评论:0      收藏:0      [点我收藏+]

冒泡排序原理:依次比较两个相邻的元素,如果顺序错误就把他们交换过来

1.一维数组冒泡排序

1 l = [2, 1, 3, 6, 45, 23, 4, 7]
2 for i in range(len(l)-1):  #这个循环负责总共需要多少趟
3     for j in range(len(l)-1-i):  #这个循环负责每趟里面相邻2个元素交换
4         if l[j] > l[j+1]:
5             l[j], l[j+1] = l[j+1], l[j]  #满足条件交换位置
6 print(l)

2.冒泡排序小练习

 1 f = open(数据.txt, encoding=utf-8)
 2 info = {}
 3 for line in f:
 4     if line.strip():
 5         name = line.split()[1]
 6         km = line.split()[-1]
 7         if km.isdigit():
 8             km = int(km)
 9         else:
10             km = float(km)
11         info[name] = km
12 
13 data = list(info.items())  #转成二维数组,每个数组里面是个元祖
14 for i in range(len(data)-1):  #二维数组冒泡排序
15     for j in range(len(data)-1-i):
16         if data[j][-1] < data[j+1][-1]:  #二维数组交换位置
17             data[j], data[j+1] = data[j+1], data[j]
18 print(data)
19 
20 count = 1
21 f2 = open(排序.txt, w, encoding=utf-8)
22 for name, km in data:#循环二维数组
23     msg = (%s. %s %s\n % (count, name, km))
24     f2.write(msg)
25     count += 1
26 f.close()
27 f2.close()

3.交换变量

# python中交换2个变量的值,不需要引入第三方变量
a = 1
b = 2
a, b = b, a  #交换2个变量
print(a, b)

c = 3
a, b, c = c, a, b  #交换多个变量
print(a, b, c)

4.三元表达式

1 a = 1
2 sex =  if a == 1 else   #三元表达式
3 print(sex)

5.列表生成式

1 l = [1, 5, 7, 6, 32, 567, 45, 897]
2 l2 = [i for i in l]  #把每次循环的结果保存到list里
3 l3 = [str(i) for i in l]
4 l4 = [str(i)+km for i in l]
5 l5 = [str(i)+km for i in l if i >= 30]
6 print(l2)
7 print(l3)
8 print(l4)
9 print(l5)

 

python学习笔记04:冒泡排序

原文:https://www.cnblogs.com/zhangxiaowai/p/12838923.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!