day4-内置函数2

一、概述

  之前小编我写了一遍内置函数第一篇,因为内置函数的内容太多了,所以小编把它分开写了,防止太多搞乱了。

  内置函数博客地址:猛击这里

二、内置函数详情

1、filter(function, iterable)

功能:通过function过滤条件,去获取iterable中你想要的数据。

>>> res = filter(lambda n:n>5,range(10))  
>>> res     #得到一个迭代器
<filter object at 0x0000000003093BE0>
>>> for i in res:
    print(i)
6
7
8
9

2、map(function, iterable)

功能:对传入的每一个值进行处理,处理完了再返回,再把原来的结果覆盖掉。

>>> res = map(lambda n:n*2,range(5))  #n*2是处理方式
>>> res
<map object at 0x00000000031B4BE0>
>>> for i in res:
    print(i)
0
2
4
6
8

3、reduce(function,iterable)

功能:把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作。

>>> from functools import reduce
>>> res = reduce(lambda x,y:x+y,range(10))  #x+y的值赋给x,rang(10)中的每个元素赋给y
>>> res
45
>>> res = reduce(lambda x,y:x*y,range(1,10)) #x*y的值赋给x,rang(10)中的每个元素赋给y
>>> res
362880

4、float([x])

功能:把一个浮点类型的字符串转换为浮点类型的数据。

>>> float('+1.23')
1.23
>>> float('   -12345\n')
-12345.0
>>> float('1e-003')
0.001
>>> float('+1E6')
1000000.0
>>> float('-Infinity')
-inf

5、format(value[, format_spec])

功能:格式话字符串,详细使用:猛击这里

6、frozenset([iterable])

功能:把集合变成一个不可变的集合

>>> res = frozenset([1,2,3,4,3])
>>> res
frozenset({1, 2, 3, 4})   #去重的,不可变的集合
>>> dir(res)   #没有可变的方法
['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__iter__', '__le__',
 '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', 
'__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', 
'__subclasshook__', '__xor__', 'copy', 'difference', 'intersection', 'isdisjoint', 'issubset', 
'issuperset', 'symmetric_difference', 'union']

 注:set()是可变的

7、getattr(object, name[, default])

功能:这边是类那边的,后续再讲。

8、globals()

功能:返回当前这个python文件中的所有变量的key-value,变量是key,值是value

print(globals())

#输出
{'__spec__': None, '__name__': '__main__', '__file__': 'D:/PycharmProjects/pyhomework
/day4/内置函数/内置函数.py', '__doc__': None, '__package__': None, '__loader__': 
<_frozen_importlib_external.SourceFileLoader object at 0x0000000000695B00>, 
'__cached__': None, '__builtins__': <module 'built

注:可以判断一个文件中的变量是否存在,而globals()只能打印全局变量

9、hash(object)

功能:反射出一个对象的对应的hash值。

>>> hash('zhangqigao')
2313972277536963491
>>> hash(255)
255
>>> hash('a')
6806508886604307842

 这个有什么用呐?

 先看下面的图:

看上面的图我们知道,如果一张表中5百万个用户信息,以我们现在的知识,只能用for循环去查找,那样的话,效率会很低。那我们怎么办呢?我们可以这样,就是把每一个姓名对应有一对应的值,然后通过对应的key值去定位,key值是放在一个列表中,当我们去查找某个key值时,可以折半查找,这样大大减少了查找时间,提高效率,这种也叫二分法查找,后面会有对应的博客专门写这一块的。

 

转载于:https://www.cnblogs.com/zhangqigao/articles/6635005.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值