zoukankan      html  css  js  c++  java
  • 二分法,有名函数,匿名函数,内置函数

    06.04 学习总结

    一.二分法

    二分法个人理解是一种算法的方式在一个有序的序列,区中间值,把中间值与想要的值进行对比从而一次一次的减少搜索范围举例

    #给与一个列表1-100,
    num_list = [num fornum in range(1,101)]
    #给予一个num让你在列表中寻找他
    mid_num_index = int(len(num_list)/2)
    mid_num = num_list[mid_num_index]
    if len(num_list)==1:
        if num_list[0]==num:
            print('找到了')
        else:
            print('没找到')
    else:
        if mid_num>num:
            num_list = num_list[:mid_num_index]
        elif mid_num<num:
            num_list = num_list[mid_num_index:]
        else:
            print('找到了')
    

    二.有名函数

    就是有函数名的函数

    三.匿名函数

    没有函数名的函数,而且只能使用一次就会被回收掉

    定义方式

    lambda 输入内容:对于输入内容进行处理后的输出内容
    如
    #输入为x,y输出他们的和
    lambda x,y:x+y
    

    匿名函数的调用

    (lambda 输入内容:对于输入内容进行处理后的输出内容)(输入内容)
    #例如
    x_y_sum = (lambda x,y:x+y)(1,2)
    

    四.内置函数

    1.重要

    1.bytes()解码字符

    res = bytes('你好', encoding='utf8')
    #			内容				解码方式
    #效果等同于
    res = '你好'.encode('utf8')
    

    2.chr()/ord()

    chr()参考ASCII码表将数字转成对应字符;ord()将字符转换成对应的数字。

    print(ord('a'))  #97
    #打印为a的ascll码
    print(chr(97))  #a
    #ascll码为97的是a
    

    3..enumerate()

    带有索引的迭代。

    l = ['a', 'b', 'c']
    for i in enumerate(l):   #生成索引加内容的迭代器,其为索引加索引对应内容组成的一个集合
        print(i)
    '''
    (0, 'a')
    (1, 'b')
    (2, 'c')
    '''
    l = [['a', 'b'], 'c']
    for i in enumerate(l):  #生成索引加内容的迭代器,其为索引加索引对应内容组成的一个集合
        print(i)
    ​```
    (0, ['a', 'b'])
    (1, 'c')
    ​```
    

    4.divmod()

    print(divmod(10, 3))
    #(3, 1)
    divmod(x, y)
    #(x//y,x%y)
    

    5.eval()

    把字符串两端的''去掉里面内容是什么就是什么
    lis = '[1,2,3]'
    lis_eval = eval(lis)
    print(lis_eval)
    #[1, 2, 3]
    

    6.hash()

    2.了解

    1.abs()

    绝对值

    print(abs(-13)
    #13      
    

    print(all([1, 2, 3, 0]))
    print(all([1]))
    print(all([]))
    False
    True
    True
    

    3.any()

    可迭代对象中有一元素为真,则为真。

    如果可迭代对象内元素是空的,返回False。

    print(any([1, 2, 3, 0]))
    print(any([]))
    print(any([1]))
    True
    False
    True
    

    4.bin()/oct()/hex()

    二进制、八进制、十六进制转换。

    print(bin(17))
    print(oct(17))
    print(hex(17))
    '''
    0b10001
    0o21
    0x11
    '''
    

    5.dir()

    列举出所有time的功能

    import time
    print(dir(time))
    '''
    ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname', 'tzset']
    '''
    

    6.frozenset()

    不可变集合

    s = frozenset(任意数据类型)
    将其中的任意数据类型变成集合的形式,且该集合不能修改
    

    7.globals()/loacals()

    查看全局名字;查看局部名字。

    # print(globals())
    def func():
        a = 1
    #     print(globals())
        print(locals())
    
    
    func()
    #{'a': 1}	
    

    8.pow()

    print(pow(3, 2, 3))  # (3**2)%3
    #0
    

    9.round()

    四舍五入

    print(round(3.5))
    #4
    

    10.slice()

    lis = ['a', 'b', 'c']
    s = slice(0, 1, 2)  #有点像切片
    print(lis[s])  # print(lis[0:1:2])
    

    11.sum()

    求和
    

    12._import_

    通过字符串导入模块。

    m = __import__('time')
    print(m.time())
    
    #1556607502.334777
    
  • 相关阅读:
    IDEA解决Cannot download sources的问题
    Swagger在Springboot项目中的使用
    ElasticSearch(10)—SpringBoot集成ES
    ElasticSearch(9)---Rest风格
    ElasticSearch(8)---IK分词器
    js显示原型和隐示原型
    通俗易懂讲解为什么设计稿都是750px
    关于rem和px全局设置问题
    PHP RSA密文过长加密解密 越过1024的解决代码
    使用https,$_SERVER['HTTPS']却不等于on?
  • 原文地址:https://www.cnblogs.com/pythonywy/p/10979621.html
Copyright © 2011-2022 走看看