Python——递归函数,,,表达式
递归函数
算法(二分法,冒泡,选择排序等)
三元表达式***
列表生成式***
字典生成式(了解)
集合生成式(了解)
递归:直接或者间接的调用其他函数,
def index():
print('from index')
func()
def func():
print('from func')
index()
func()
递归在实际编码中是不允许出现的,一旦出现了无限递归就会报错
递归的使用场景:
1.递推
一层一层往下寻找答案
2.回溯
通过最后一个结束往回寻找最开始的答案
算法:就是解决问题的高效办法
算法中的二分法、冒泡排序、选择排序、堆排序、等
# 二分法的使用场景:让你在一个列表中查找某个数字是不是存在
l = [11, 2, 3, 43, 55, 67, 23, 45, 45, 88, 99, 66,]
'''查找66这个数字是否在列表l中'''
1. 实现功能
2. 快速找到
思路:
遍历列表l一个一个去比较,如果比较到了,就是找到了,否则,就是没找到
for i in l:
if i == 66:
print('找到了')
二分法的原理:
1. 列表必须先排序(从小到大,从大到小)
2. 折半查找
三元表达式:
写一个比较两个数大小的函数,返回大的
def my_max(a, b):
if a >b:
return a
else
return b
对于只有二选一的情况,我们推荐使用三元表达式
语法结构:
res = 条件成立之后的结果 if 条件 else 条件不成立之后的结果
列表生成式:
names_list = ['kevin', 'jerry', 'tank', 'oscar']
把列表中得每一个名字后面都拼上后缀_SB
names_list = ['kevin', 'jerry', 'tank', 'oscar']
把列表中得每一个名字后面都拼上后缀_SB
字典,集和