摘要:
# 选择排序:选择极大或极小值,跟第一个进行交换lst = [1, 3, 9, 8, 5, 2, 7, 4, 6]length = len(lst)for i in range(length): maxValueIndex = i # 先假定第一个为最大值 for j in range(i+1, l 阅读全文
摘要:
# 冒泡排序:基础冒泡排序,每趟比较次数减1次 lst = [1, 9, 8, 5, 6, 7, 4, 3, 2]length = len(lst)for i in range(length): for j in range(length-i-1): if lst[j] > lst[i]: tmp 阅读全文
摘要:
# 函数返回值# return [1, 3, 5] 返回一个列表# return 1, 3, 5 看似返回一个值,其实是被隐式的封装成一个元组# x, y, z, = XX() 用来接收返回值# 函数嵌套 - 引出作用域的概念def outer(): def inner(): print('inne 阅读全文
摘要:
# 插入排序# 在未排序的序列中,构建一个子序列排序,直到全部数据排序完成# 将待排序的数据,插入到已经排序的序列中# 适用于小规模数据排序# 直接插入排序nums = [1,9, 8, 5, 6, 7, 4, 3, 2]nums = [0] + nums # 增加一个哨兵位,待比较数字0lenth 阅读全文
摘要:
# 参数解构:传参时,可以在集合类型前使用*或**把集合类型结构解开# 非字典类型,使用*# 字典类型,使用**# 注:提取出来的元素的个数要与形参个数相同def add(x, y): print(x + y)add(4, 5)t = (4, 8)print(*t)add(*t)lst = [1, 阅读全文
摘要:
# 函数作用:封装;封装作用:复用# 加法def add(x, y): result = x + y return resultresult = add(4, 5)print(result)# 函数参数def f(x, y, z): pass# 位置参数调用*f(1, 2, 3) # 第一种方法# 阅读全文
摘要:
# 生成器表达式,生成可迭代对象,不能反复迭代(延迟求值,惰性求值)tmp = (x for x in range(9))print(type(tmp))print(next(tmp)) # 结果:0print(next(tmp)) # 结果:1for i in tmp: # 循环迭代不容易出现边界 阅读全文
摘要:
# 字典解析式tmp = {x:(x, x+1) for x in range(10)}print(tmp)tmp = {x:[x, x+1] for x in range(10)}print(tmp) 阅读全文
摘要:
# 生成元组集合tmp = {(x, x+1) for x in range(10)}print(type(tmp))print(tmp)# 生成列表集合tmp = {[x] for x in range(10)}print(tmp) 阅读全文
摘要:
# 将0-9的列表生成一个新列表,新列表每个元素都在原列表基础上+1并平方newlist1 = [(i+1)**2 for i in range(10)]print(newlist1)print(type(newlist1))# 生成10个0的列表newlist2 = [0 for _ in ran 阅读全文