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
    
  • 相关阅读:
    k3 cloud套打模板中出现单元格数据为空的情况,及无法正确的选择数据源
    k3 cloud中列表字段汇总类型中设置了汇总以后没有显示出汇总值
    k3 cloud查看附件提示授予目录NetWorkService读写权限
    k3 cloud中提示总账期末结账提示过滤条件太长,请修改此过滤条件
    金蝶云k3 cloud采购入库单校验日期不通过
    C# Code First 配置(二)
    C# Azure 远程调试
    C# ABP源码详解 之 BackgroundJob,后台工作(一)
    C# 在webapi项目中配置Swagger(最新版2017)
    高并发之
  • 原文地址:https://www.cnblogs.com/pythonywy/p/10979621.html
Copyright © 2011-2022 走看看