一、什么是内置函数
二、内置函数的用法
2.1 max()求最大值
2.1.1 max()取最大值
2.1.2 min()取最小值
2.1.3 sorted() 排序
2.1.4 map()映射
2.1.5 reduce() 合并
2.1.6 filter() 过滤
二、内置函数的用法
2.1 max()求最大值
2.1.1 max()取最大值
2.1.2 min()取最小值
2.1.3 sorted() 排序
2.1.4 map()映射
2.1.5 reduce() 合并
2.1.6 filter() 过滤
一、什么是内置函数
python解释中内置的函数
- range()
- print()
- len()
- max()
- min()
- sorted()
- map()
- filter()
- ....
二、内置函数的用法
2.1 max()求最大值
max求最大值
max内部会将list1中的元素通过for循环取出每一个值,并且进行判断
语法:max(可迭代对象)
list1 = [1, 3, 5, 65, 6, 7]
print(max(list1))
>>> 65
2.1.1 max()取最大值
获取可迭代对象中最大值
dict1 = {
'tank': 1000,
'egon': 500,
'sean': 200,
'jason': 500
}
print(max(dict1, key=lambda x: dict1[x]))
2.1.2 min()取最小值
获取可迭代对象中最小值
dict1 = {
'tank': 1000,
'egon': 500,
'sean': 200,
'jason': 500
}
print(min(dict1, key=lambda x: dict1[x]))
2.1.3 sorted() 排序
对可迭代对象中的数据进行排序
参数:
- reverse默认为False,升序
- reverse为True,降序
求工资最低的
dict1 = {
'tank': 100,
'egon': 500,
'sean': 200,
'jason': 50
}
new_list = sorted(dict1, key=lambda x: dict1[x], reverse=True)
print(new_list)
2.1.4 map()映射
语法:
map(函数地址,可迭代对象)
得到的返回值是一个map对象
map会将可迭代对象中的每一个值进行修改,然后映射一个map对象中,可以再将map对象转成列表/元组(注意:只能转一次,因为它是一个可迭代对象,当你定义第一次列表的时候,就已经的相当于将值取出来了)
name_list = ['engon', 'jason', 'sean', '大饼', 'tank']
map_obj = map(lambda name: name if name == 'tank' else name + '爱吃生蚝', name_list)
print(map_obj)
print(list(map_obj))
print(tuple(map_obj))
>>> <map object at 0x000001B7506E5CC8>
>>> ['engon爱吃生蚝', 'jason爱吃生蚝', 'sean爱吃生蚝', '大饼爱吃生蚝', 'tank']
>>> () # 列表已经将值取完了,所以tuple为空
Process finished with exit code 0
2.1.5 reduce() 合并
每次从可迭代对象中获取两个值进行合并
语法:
reduce(func, sequence, initial=None)
初始值(initial): 执行reduce函数时,都是从初始值开始合并
# 需要导入functools
# 需求:求1-100的和
# 普通方法
int = 0
for i in range(1, 101):
int += i
print(int)
# 利用reduce求值
from functools import reduce
res = reduce(lambda x, y: x+y, range(1, 101), 0)
print(res)# 需要导入functools
# 需求:求1-100的和
# 普通方法
int = 0
for i in range(1, 101):
int += i
print(int)
# 利用reduce求值
from functools import reduce
res = reduce(lambda x, y: x+y, range(1, 101), 0)
print(res)
> 5050
# 初始值为1000
from functools import reduce
res = reduce(lambda x, y: x+y, range(1, 101), 0)
print(res)
> 6050
2.1.6 filter() 过滤
filter会将函数中返回的结果为True 对应 的参数值 “过滤出来”
# 将后缀为_dsb的名字 “过滤出来”
name_list = ['egon_dsb', 'jason_dsb', 'sean_dsb', '大饼_dsb', 'tank']
res = filter(lambda name: name.endswith('_dsb'), name_list)
print(list(res))