首页 > 编程语言 >算法 生成式 函数内置

算法 生成式 函数内置

时间:2022-10-13 20:36:31浏览次数:43  
标签:内置 name res 生成式 middle 算法 l1 print

今日内容概要

  • 算法简介及二分法
  • 三元表达式
  • 各种生成制
  • 匿名函数
  • 重要内置函数
  • 常见内置函数

算法简介及二分法

1.什么算法?
	解决问题的有效方法,不是所有的算法都是高效 也有不合格的算法
2.算法应用场景
	推荐算法(抖音视频推送 淘宝商品推送 )
    成像算法(AI相关)
    几乎涵盖了生活的方方面面
3.算法工程师要求
	待遇非常好 但是要求非常高(985+硕士研究生起步,一般高校优秀毕业生)
4.算法部门
	不是所有的互联网公司养得起算法部门,只有大型互联网公司有,算法部门类似于药品研发部门
4.二分法是什么?
	定义:二分法是算法里面的最简单的算法
	要求:待查找的数据集必须有序;待查找的的数据不能在开头或者结尾出现
	原理:不断的对数数据集做二分切割
	缺陷:针对开头结尾 查找效率很低
5.常见的算法原理以及伪代码
	二分法 冒泡 快拍 插入 地推 桶排 数据结构(链表 约瑟夫问题 如何判断链表是否成环)
	
6.二分法使用案例

    # 现在有个需求:查找列表中的某个数
    l1 = [21, 76, 84, 91, 122, 132, 231, 334, 665,736, 873, 927, 987, 999]
    # 方式1:for 循环 ,次数比较多
    # 方式2:二分法 不断地对数据集进行二分切割

    # 首先定义我们想要的查找的数据值
    target_num = 873
    def get_middle(l1, target_num):
        # 添加一个结束条件
        if len(l1) == 0:
            print('很抱歉 没有找到')
            return
        # 1.获取列表中间的索引值
        middle_index = len(l1) // 2
        print(middle_index)
        # 2.比较目标数据值与中间索引值的大小
        if target_num > l1[middle_index]:
            # 切片保留列表右边的一半
            right_l1 = l1[middle_index +1:]
            print(right_l1)
            # 针对右边一半的列表继续二分并判断 >>>: 感觉要用递归函数
            return get_middle(right_l1, target_num)
        elif target_num < l1[middle_index]:
            # 切片保留列表左边的一半
            left_l1 = l1[:middle_index]
            print(left_l1)
            # 针对左边一半的列表继续二分并判断 >>>: 感觉要用递归函数
            return get_middle(left_l1, target_num)
        else:
            print('恭喜你找到了')


            # get_middle(l1, 873)
            # get_middle(l1, 111)
            # get_middle(l1, 21)  

三元表达式

1.语法结构:
	# 数据值1 if 条件 else 数据值2
"""
条件成立立即使用数据值1否则使用数据值2
应用场景:二选一
尽量不要嵌套使用
"""

# 简化步骤:代码简单并且只有一行那么就可以直接在冒号后面编写
# name = 'almira'
# if name == 'almira':print('美女')
# else:print('丑八怪')
# 三元表达式
# res = '美女' if name == 'almira' else '丑八怪'
# print(res)
# res = '美女' if name == 'almira' else '学生' if 1 ==2 else 'hahaha'
# print(res)


is_free = input('电影是否收费>>>:').strip()
rse = '收费' if is_free == 'y' else '免费'
print(res)

列表生成式


    # 需求:列表中所有人的名字后面加上_SB的后缀
    # 方案一:for循环
        name_list = ['almira', 'lina', 'rudy', 'judy']
        new_list = []
        for name in name_list:
            data = f'{name}_SB'
            new_list.append(data)
        print(new_list)

    # 方案二:列表生成式
        new_list = [name + "_SB" for name in name_list]
        print(new_list)

字典生成式

    s1 = 'beautiful'
    for i, j in enumerate(s1, start=100):
        print(i,j)
    d1 = {i:j for i in enumerate('beautiful')}
    print(d1)

集合生成式

    res = {i for i in 'beautiful'}
    print(res)

元组生成式>>>生成器*****

    res = (i + 'sb' for i in 'baby')
    print(res)
    for i in res:
        print(i)

匿名函数

1.定义:没有名字的函数 需要使用关键字lambda
2.语法结构:
	lambda 形参:返回值
3.使用场景
	lambda a,b:a+b
    匿名函数一般不单独使用需要配合其他函数要求使用

常见内置函数

 1.map() 映射  
    l1 = [1, 2, 3, 4, 5, 6, 5]
    def func(a):
        return a + 1
    res = map(lambda x:x+1, l1)
    print(list(res))
2.max()/min() 最大/最小值
    l1 = [1, 2, 3, 4, 5, 6, 5]
    res = max(l1)
    print(res)

    d1 = {
        'almira':20000,
        'lida':2122,
        'judy':1212,
    }
    res = max(d1, key=lambda k:d1.get(k))
    print(res)
    
 3.reduce 传多个值 返回一个值
    from functools import reduce
    l1 = [21, 43, 65, 87, 98, 76, 54]
    res = reduce(lambda a, b: a + b, l1)
    print(res)

标签:内置,name,res,生成式,middle,算法,l1,print
From: https://www.cnblogs.com/almira998/p/16789531.html

相关文章

  • 算法、三元表达式、匿名函数
    算法、三元表达式、匿名函数目录算法、三元表达式、匿名函数一、算法简介1、算法的概念2、算法的应用场景二、二分法1、二分法查找思路2、二分法使用要求三、三元表达式四......
  • 【算法】时间频度与时间复杂度、归并排序、StringBuffer和StringBuilder详解!
    算法中的时间频度与时间复杂度时间频度一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度......
  • 算法
    今日内容概要作业讲解算法简介及二分法三元表达式各种生成式匿名函数重要内置函数常见内置函数今日内容详细算法简介及二分法1.什么是算法算法就是解......
  • 算法简介与函数表达式跟内置函数
    今日内容总结算法简介及二分法1.什么是算法算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机......
  • 算法、二分法、函数
    目录算法简介及二分法三元表达式各种生成式/表达式/推导式匿名函数内置函数作业算法简介及二分法1.什么是算法算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解......
  • 算法简介及二分法
    目录算法简介及二分法三元表达式各种生成式/表达式/推导式匿名函数常见内置函数算法简介及二分法1.什么是算法: 算法就是解决问题的有效方法不是所有的算法都很高效也......
  • 算法简介及二分法,三元表达式,各种生成式,匿名函数,常见内置函数
    目录算法简介及二分法,三元表达式,各种生成式,匿名函数,常见内置函数今日内容概要今日内容详细算法简介及二分法三元表达式各种生成式/表达式/推导式匿名函数常见内置函数算法......
  • 算法表达式匿名函数
    目录算法简介与二分法二分法常见算法的原理以及伪代码三元表达式各种生产式、表达式、推导式匿名函数常见内置函数作业算法简介与二分法1.什么是算法 算法就是解决问题......
  • python基础-二分法、生成式、匿名函数、内置函数
    python基础-二分法、生成式、匿名函数、内置函数目录一、算法简介及二分法1.算法2.二分法二、三元表达式三、生成式1.列表生成式2.字典生成式3.集合生成式四、匿名函数五......
  • 16、python函数篇 二分法、三元表达式、生成/推导式、匿名函数、内置函数
    目录一、算法简介之二分法1、什么是算法2、算法的应用场景3、二分法二、三元表达式1、简介及用法三、各种生成式1、列表生成式2、字典生成式3、集合生成式四、匿名函数五、......