首页 > 其他分享 >二分法及常见内置函数(部分)

二分法及常见内置函数(部分)

时间:2022-10-13 21:46:52浏览次数:61  
标签:内置 函数 point 生成式 list 二分法 num

昨日内容回顾

  • 多层语法糖的顺序

    语法糖多层使用时,从被装饰的函数开始由下而上读取,由上而下执行。

  • 有参装饰器

    有参装饰器可以为装饰器提供额外的参数。

    def wrapper(parameter_name):
        def outer(func):
            def inner(*args, **kwargs):
                res = func(*args, **kwargs)
                return res
            return inner
        return outer
    
  • 装饰器的修复

    装饰器的修复主要目的是为了提高装饰器的逼真程度。对应语句为:

    from functools import wraps
    def outer(func):
        @wraps(func)
        def inner(*args, **kwargs):
            res = func(*args, **kwargs)
            return res
        return inner
    
  • 递归函数的基本定义

    函数直接或间接地调用自身成为函数的递归。递归函数的特征为,有明确的结束条件,且每次调用自身得到的结果都比上次调用得到的结果简单。

今日内容概要

  • 递归函数的编写方法
  • 算法简介及二分法
  • 三元表达式
  • 各种生成式
  • 匿名函数
  • 常用主要函数

今日内容详细

递归函数的编写方法

  1. 根据需求先按照依次写出需要执行的代码,写到能总结出规律为止;
  2. 观察重复的代码,将该部分代码定义为一个新的函数;
  3. 完善新的函数,确定函数递归的结束条件,明确函数运行需要的参数。

算法简介及二分法

算法是实现某种功能的方法。没有完美的算法,一种算法往往只能为某一类问题提供解决方法。

二分法常用来查找大量有序数字中的某一个,当查找的目标值位于序列中的首尾附近时,使用二分法的效率较低。

二分法的程序模板如下:

def get_number(list_of_num, target_num):
    mid_point = len(list_of_num) // 2
    if mid_point == 0:
        print('Number not found.')
    else:
        if list_of_num[mid_point] > target_num:
            left_list = list_of_num[:mid_point]
            get_number(left_list, target_num)
        elif list_of_num[mid_point] < target_num:
            right_list = list_of_num[mid_point + 1:]
            get_number(right_list, target_num)
        else:
            print('Completed.')

三元表达式

三元表达式适用于单if判断句,当子代码均为一行且较短时,可以采用三元表达式写法,三元表达式不建议嵌套。

if判断句三元表达式写法:"满足条件子代码" if "判断条件" else "不满足条件子代码"

各种生成式

列表生成式

当需要对一个容器类数据内的数据值做统一的操作生成一个新的列表时,可以使用列表生成式。

source_list = ['ada', 'bob']
new_list = [i + '_student' for i in source_list]

for 循环后可以跟if判断句,但不能有else。

字典生成式

字典生成式应用较少,实例:

new_dict = {i:j for i,j in enumerate('hello')}

集合生成式

集合生成式应用也不多,实例:

new_set = {i for i in 'hello'}

"元组生成式"

没有元组生成式,用上述类似形式生成元组得到的是元组生成器。

匿名函数

结构比较简单、不与函数名绑定的函数即为匿名函数。因为不与函数名绑定,所以匿名函数不能单独使用,常与其他函数并用。其结构组成为: lambda 变量名:函数子代码

常见内置函数

  • 映射 map(func, iterables)

    依次将一个容器对象内的数据,给某个函数传参,并获取其返回值。

  • 最大值 max() 最小值 min()

    获取一个容器对象内的最大值或最小值。字符串类型比较原则为比较其ASCII码。

  • 整合 reduce()

    接收一个容器对象内的所有值,按照一定规则整合为一个值返回。调用方式为:

    from functools import reduce
    

标签:内置,函数,point,生成式,list,二分法,num
From: https://www.cnblogs.com/akazukis/p/16789801.html

相关文章

  • python函数及算法
    算法二分法二分算法图什么是算法?​ 算法是高效解决问题的办法。需求:有一个按照从小到大顺序排列的数字列表,查找某一个数字#定义一个无序的列表nums=[3,4,5,67,......
  • 基础的函数
    #include<stdio.h>#include<math.h>intmain(){ doublex,y,a,b,c,d,e; printf("请分别输入x,Y的值:"); scanf_s("%lf%lf",&x,&y); a=sin(x); b=cos(x......
  • JavaScript高级程序设计笔记10 函数Function
    函数1.几种实例化函数对象的方式以函数声明的方式定义函数表达式箭头函数(arrowfunction)使用Function构造函数接收任意多个字符串参数,最后一个参数始终会被......
  • 【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
    上一节讲到如何安装和使用第三方插件,用法很简单。接下来解读下如何自己开发pytest插件。但是,由于一个插件包含一个或多个钩子函数开发而来,所以在具体开发插件之前还需要先......
  • 匿名函数,二分法,三元表达示
    算法简介及二分法1.什么是算法 算法就是解决问题的有效方法不是所有算法都很高效也有不合格的算法2.算法应用场景 推荐算法:比如抖音成像算法:AI相关几乎覆......
  • 算法、表达式与匿名函数
    算法简介1.什么是算法 算法就是解决问题的有效方法不是所有的算法都很高效也有不合格的算法2.算法的应用场景 推荐算法(抖音视频推送淘宝商品推送)成像算法(AI......
  • 二分法
    目录今日内容回顾今日内容详解算法简介及二分法三元表达式各种生成式匿名函数常见内置函数今日内容回顾算法简介及二分法三元表达式各种生成式匿名函数常见内置函数......
  • 二分法、三元表达式及匿名函数
    二分法、三元表达式及匿名函数目录二分法、三元表达式及匿名函数一、算法简介及二分法二、三元表达式三、各种生成式1.列表生成式2.字典生成式3.集合生成式4.元组四、匿名......
  • 算法 生成式 函数内置
    今日内容概要算法简介及二分法三元表达式各种生成制匿名函数重要内置函数常见内置函数算法简介及二分法1.什么算法? 解决问题的有效方法,不是所有的算法都是高效......
  • 算法、三元表达式、匿名函数
    算法、三元表达式、匿名函数目录算法、三元表达式、匿名函数一、算法简介1、算法的概念2、算法的应用场景二、二分法1、二分法查找思路2、二分法使用要求三、三元表达式四......