python学习笔记(24)---常用的内置函数,高阶函数

‘’’
常用的内置函数及高阶函数

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值