‘’’
常用的内置函数及高阶函数
abs() 函数返回数字的绝对值
sorted(list) 排序并且返回排序后的列表
round(a,b) 获取指定位数的小数,a是浮点数,b是保留的位数
round(1.314520,2) 结果是1.31
instance 判断类型,下面例子就是判断x是整型或者字符串
instance(x,(int,str))
x=‘daasda’
print(isinstance(x,(int,str)))
结果为:True
‘’’
‘’’
高阶函数
map(函数,集合序列) 接收一个函数和若干个集合序列,根据函数对序列做映射
返回一个新的map对象
filter(函数,序列) 用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素
组成的filter对象
reduce(函数,序列,initvalue) 合并序列,对序列中所有元素调用函数进行合并,
可以设定一个初始值
‘’’
#map示例
list0=[1,2,3,4,5,6]
list1=[3,4,2,1,5,8]
list2=[3,4,2,1,5,8]
new_list0=map(lambda x,y,z:x*y+z,list0,list1,list2)
print('map结果:',list(new_list0)) #将map对象转换为list
#map结果: [6, 12, 8, 5, 30, 56]
#filter示例
list0=[1,2,3,4,5,6]
new_list0=list(filter(lambda x:x<5,list0))
print('filter结果:',new_list0)
#filter结果: [1, 2, 3, 4]
from functools import reduce
new_list0=reduce(lambda x,y:x+y,list0)
print(new_list0)
'''
这里先将,1,2赋值给,x,y,然后x+y=3返回给x
在list0中的3赋值给y,相加6再返回给x
再将list0中的4赋值给y,以此类推
'''
‘’’
1.格式化用户名字,首字母大写,其余字符小写
2.江姓名,年龄以及性别数据结合到一起,形成个元组
3.过滤掉性别为女的
4.求男性的平均年龄
‘’’
name=['zhangsan','lisi','wangwu','zhaoliu']
age=[18,19,20,21]
sex=['m','w','m','m']
#1格式化用户名字,首字母大写,其余字符小写
#用map函数完成
name=['zhangsan','lisi','wangwu','zhaoliu']
new_name1=map(lambda x:x.title(),name)
print(list(new_name1))
#用列表
# list3=[]
# for i in name:
# list3.append(i.title())
# print(list3)
#用列表推导式
name=['zhangsan','lisi','wangwu','zhaoliu']
new_name2=[i.title() for i in name]
print(new_name2)
#2.江姓名,年龄以及性别数据结合到一起,形成个元组
users=list(map(lambda x,y,z:(x,y,z),name,age,sex))
print(users)
#3,过滤掉女性用户
m_users=list(filter(lambda x:x[2]=='m',users))
print(m_users)
#4.求男性用户的平均年龄
m_users_number=len(m_users)
m_ages=reduce(lambda x,y:x+y[1],m_users,0)
print(m_ages/m_users_number)