2018年12月14日 函数 总结

本文深入讲解了Python中的内置函数,包括map(), filter(), reduce(), abs(), all(), any(), bin(), bool(), bytes(), decode(), chr(), dir(), divmod(), enumerate(), eval(), hash(), hex(), oct(), id(), isinstance(), globals(), locals(), max(), min()等的功能与用法,同时介绍了zip()函数的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

map() 处理序列中每个元素,得到迭代器,该迭代器  元素个数和位置与原来一致

filter() 遍历序列中的每个元素,判断每个元素得到布尔值,如果是true则留下来

people=[
    {'name':"abc","age":100},
    {"name":"def","age":80},
    {'name':'sxj',"age":30},
    {"name":"hid","age":99},
]

res=filter(lambda p:p["age"]<50,people)
print(list(res))

reduce:处理一个序列,然后把序列进行合并操作

from functools import reduce
print(reduce(lambda x,y:x+y,range(1,101)))
print(reduce(lambda x,y:x+y,range(100),100))

 

#内置函数
print('1.abs绝对值:',abs(-1))
print("2.all把序列中每个元素做bool运算,所有都为真就为真,(如果为空这里也返回True)其他为假:",all([1,2,"2","1",]),all("1230"))
print('3.any 只要有1个是True那就是真:',any([1,3,4,2,0]))
print('4.bin 转化成二进制:',bin(12))
print('5.bool 判断真假:',bool(1))
print('6.bytes把字符串做一个编码',bytes("你好",encoding='utf-8'))
print('7.decode 解码:',bytes("你好",encoding='utf-8').decode("utf-8") )
print('8.chr的用法:ASII玛的转化:',chr(189))
print('9.dir,目录方法,检查函数的属性或内置方法',dir(all))
print('10.divmod取商得余数',divmod(13,3))#页面做抽屉,分页功能,10代表总共有多少纪录,3代表一页房多少纪录
print('11.enumerate用法见前面案例')
print('12.eval用法:1.把字符串表达式用来执行计算,2.提取字符串中的数据功能',eval("1+2-3+2*4"))
print('13.hash运算',hash("abc"))#能进行hash运算的就是不可变类型
print('14.hex方法:转化16进制:',hex(15))
print('15.oct方法:转化8进制:',oct(15))
print('16.id 方法:打印对象内存地址:',id("sxj"))
print('17.isinstance方法,判断是否是已知的数据类型:',isinstance(1,int),isinstance("abc",(list,str,dict,tuple,set)))
print('18.globals方法和locals方法:',"见百度:返回全局变量,和返回局部变量")
print('19.max取最大值:',max([1,2,3,4,5,3,4,2]))
print('20.min取最小值:',min({1,2,3,4,5,3}))

 

max/min 后直接跟序列会返回此序列的最大/最小值

max(iterable, key, default) 求迭代器的最大值,其中iterable 为迭代器,max会for i in … 遍历一遍这个迭代器,然后将迭代器的每一个返回值当做参数传给key=func 中的func(一般用lambda表达式定义) ,然后将func的执行结果传给key,然后以key为标准进行大小的判断。

 

salaries={
    'egon':3000,
    'alex':100000000,
    'wupeiqi':10000,
    'yuanhao':2000
}
print(max(salaries,key=lambda k:salaries[k]))#默认比较的是字典的key

 ---------------------------------------

云计算openstack

————————————————

zip()

#zip 拉链方法
print(dict(zip("abc",(1,2,3)))) #注意zip只能一一对应
print(list(zip(("a",'b','c'),(1,2,3))))
print(tuple(zip(("a",'b','c'),(1,2,3))))
print(dict(zip("hello","12345")))
p={"name":"alex","age":18,"gender":'none'}
print(list(zip(p.keys(),p.values())))
print(list(p.keys()))
print(list(p.values()))

Python内置函数——zip

zip(iter1,iter2,...) 将很多迭代器的每一个元素组成一一对应的元组,然后生成一个迭代器每次迭代都返回一组前面生成的元组

 

转载于:https://www.cnblogs.com/python1988/p/10117941.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值