python内置函数查看:
https://docs.python.org/zh-cn/3.7/library/functions.html
python提供了比较多的内置函数,简单介绍几种比较常用的内置函数,
例如:filter函数,map函数,exec函数,all和any函数,zip函数
1. filter函数:过滤数据的函数
基本格式:filter(参数1:过滤规则函数,参数2:可迭代对象 )
实例1:获取列表中大于30的数据
li = [11, 33, 34, 55, 7, 2, 7, 66, 899, 7, 5]
1. 使用列表推导式实现:
print([i for i in li if i > 30])
2. 使用filter函数实现
res = filter(lambda x: x > 30, li)
print(list(res))
2. map函数
基本格式:map函数:(参数1:处理函数, 参数2:可迭代对象)
实例2:计算列表中所有数据的二次方法
li2 = [11, 33, 34, 55, 7, 2, 7, 66, 899, 7, 5]
1. 使用列表推导式实现:
print([i**2 for i in li])
2. 使用filter函数实现
res2 = map(lambda x: x ** 2, li2)
print(list(res))
3. exec函数:执行python代码
场景:
1.可以执行txt文本内的python代码
# 执行txt文件中的代码
with open('文件名.txt', 'r', encoding='utf-8') as f:
exec(f.read())
2.可以执行字符串内的python代码
code = '''
def work(a, b):
print(a + b)
a = 200
b = 300
work(a,b)
'''
# exec执行字符串内的代码
exec(code)
4. all函数:迭代对象内所有的元素为真,返回True
实例3:
def work(name=None, age=None, sex=None):
# 常规语法and实现
if name and age and sex:
print('--成立01---')
# 使用all函数实现
if all([name, age, sex]):
print('--成立02---')
5. any函数
实例3:
def work(name=None, age=None, sex=None):
# 常规语法or实现
if name or age or sex:
print('--成立01---')
# 使用any函数实现
if any([name, age, sex]):
print('--成立02---')
6. zip函数:聚合打包
实例4:有两个列表,现在需要将两个列表合并成一个列表,以(11, ‘a’), (22, ‘b’)的形式体现
s1 = (11, 22, 33, 44, 55)
s2 = ('a', 'b', 'c', 'd', 'e', 'f', 'g')
res = zip(s1, s2)
print(list(res5))
匿名函数:lambda函数
使用场景:函数体结构非常简单的函数(结构简单的函数当成参数传递时使用)
3.基本语法:
- 表达式1:lambda 参数1,参数2:返回值
例如:
1.常规语法实现一个简单地加减函数
def work(a, b):
return a * b
print(work(11,22))
2.lambda函数实现:
work2 = lambda a, b: a + b
print(work2(11,22))
- 表达式2:key=lambda x: x[值]
例如:对下面的列表进行排序(规则:根据列表中每个元素的第二个值的大小进行排序)
li = [[1, 10, 32], [3, 22, 99], [2, 33, 77]]
1.lambda函数实现:
li.sort() # 按第一个值进行排序
li.sort(key=lambda x: x[1]) # 按第二个值进行排序
li.sort(key=lambda x: x[2]) # 按第三个值进行排序
print(li)