嵌套循环
1.循环嵌套
1. 嵌套循环:
2.
3. 列表生成式
1-aftertax=[one*0.9 for one in beforetax]
2-aftertax=[循环体 for语句]
# 列表生成式
afterax=[]
beforetax = [1000,2000,3000,4000]
for one in beforetax:
afterax.append(int(one*0.9))
print(afterax)
beforetax = [1000,2000,3000,4000]
afterax= [one*0.9 for one in beforetax] # 第一种写法
afterax= [one*0.9 for one in beforetax if one >3000] # 只扣大于3000
print(afterax)
3-alist.sort(默认正序) alist.sort(reverse=True)
4-冒泡排序:
1-确认要排序的对象:alist--升序 / 降序
5-思维扩展
1- alist = [3,1,7,0]
2- 每一次找一个最小值 不使用---min()------假设法
3- data = [] ------ data.append(最小值)
** 每一次找到 最小值要记得删除!
# 对比,按从小到大排序
alist = [9,1,4,6,0]
alist.sort()
print(alist)
print(alist[::-1])
print(alist)
alist.reverse()
print(alist)
'''
核心思路: [8,2,6,0]
1- 每一次找一个较大值 len()-1次
2- 相邻元素比较!
1- 找3次较大值---最一个不就是最小值
2- 过程:
1- 找第1个较大值---8---交换了3次
1- [8,2,6,0] ---- 8 和 2 比较 -- 8大- 交换位置--[2,8,6,0]
2- [2,8,6,0] ---- 8 和 6 比较 -- 8大- 交换位置--[2,6,8,0]
3- [2,6,8,0] ---- 8 和 0 比较 -- 8大- 交换位置--[2,6,0,8]
2- 找第2个较大值---6---交换了2次
1- [2,6,0,8] ---- 2 和 6 比较 -- 6大- 交换位置--[2,6,0,8]
2- [2,6,0,8] ---- 6 和 0 比较 -- 6大- 交换位置--[2,0,6,8]
3- 找第3个较大值---2---交换了1次
1- [2,0,6,8] ---- 2 和 0 比较 -- 2大- 交换位置--[0,2,6,8]
'''
#1- 确定找多少次较大值 len()-1 4次
for i in range(0,len(alist)-1):#0 1 2 3
#2- 每次找较大值怎么找---相邻元素对比
for j in range(0,len(alist)-1-i):
#3- 开始交换值 前面值>后面值
if alist[j] > alist[j+1]:
alist[j] ,alist[j+1] = alist[j+1],alist[j]
print(alist)