隐匿函数,二分法 冒泡排序
一,lambda匿名函数
1.语法 函数名=lambda 参数:返回值
a=lambda i:i**2 print(a(2))
2.不能用于复杂的函数
二.sorted()排序函数
1.语法 sorted(可迭代对象(iterable),key=函数,reserve=false(默认值))
lst=[ {"id":1,"name":"李金晓","age":25}, {"id":2,"name":"老丁","age":23}, {"id":3,"name":"程程","age":254}, {"id":4,"name":"王总","age":255}, {"id":5,"name":"付凌波","age":215} ]a=sorted(lst,key=lambda dic:dic["age"])print(a)
三.filter()筛选函数
1.语法 filter(函数,可迭代的对象)
2.第一个参数是函数,将第二个参数中的每一个元素都传给函数,函数如果反回True,留下该元素.
lst=[ {"id":1,"name":"李金晓","age":25}, {"id":2,"name":"老丁","age":23}, {"id":3,"name":"程程","age":254}, {"id":4,"name":"王总","age":255}, {"id":5,"name":"付凌波","age":215} ]a= filter(lambda dic:dic["age"]>40,lst)print(a)print(list(a))
四.map()映射函数
1.语法 map(函数,可迭代对象)
2.把可迭代对象中的每一个元素传递给前面的函数进行处理
lst=[1,24,3,5,6,7]a=map(lambda i:i**2,lst)print(a)print(list(a))
五.递归
1.语法
def func()
func()
fun()
2.
lst = [22, 33, 44, 55, 66, 77, 88, 99, 101, 238, 345, 456, 567, 678, 789]def func(left,right,n): if left<=right: middle=(left+right)//2 if n>lst[middle]: left=middle+1 elif n<lst[middle]: right=middle-1 else: return middle return func(left,right,n) else: return -1print(func(0,len(lst),101))
六.二分法查找
1.查找的序列必须输有序序列.
1.普通方法
n=int(input("请输入数字"))lst = [22, 33, 44, 55, 66, 77, 88, 99, 101, 238, 345, 456, 567, 678, 789]left=0right=len(lst)-1 while left<=right: middle=(left+right)//2 if n>lst[middle]: left=middle+1 elif n<lst[middle]: right=middle-1 else: print("存在,位置:"+str(middle)) breakelse: print("不存在") 七 冒泡排序
# 2. 给出一个纯数字列表. 请对列表进行排序(升级题). # 思路: # 1. 完成a和b的数据交换. 例如, a = 10, b = 24 交换之后, a = 24, b = 10 # 2. 循环列表. 判断a[i]和a[i+1]之间的大小关系, 如果a[i]比a[i+1]大. 则进行互换. 循环结束的时候. 当前列表中最大的数据就会被移动到最右端. # 3. 想一想, 如果再次执行一次上面的操作. 最终第二大的数据就移动到了右端. 以此类推. 如果反复的进行执行相应的操作. 那这个列表就变成了一个有序列表. lst=[12,53,11,23,66,44,2,13] for a in range(len(lst)):i=0while i <len(lst)-1:if lst[i]>lst[i+1]:lst[i],lst[i+1]=lst[i+1],lst[i]i=i+1 print(lst) #
View Code
转载于:https://www.cnblogs.com/hu13/p/9342106.html
隐匿函数,二分法 冒泡排序相关推荐
- 【C语言】用回调函数实现冒泡排序
(一)什么是回调函数呢? 回调函数就是通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数. (二)回调函数的实现机制 ...
- scanf函数、冒泡排序和不定长度数组的使用 —— malloc
环境:win10 + VS2019 目录 1 scanf函数理解 1.1 VS中scanf函数报错 1.2 scanf函数介绍 1.2.1 简介 1.2.2 转换说明 1.2.3 读取缓冲区数据 ...
- 算法介绍--- 二分法,冒泡排序,快排
目录 二分法 冒泡排序 快速排序 二分法 二分法是一种在有序数组中查找某一特定元素的搜索算法. 搜索过程从数组的中间元素开始: 如果中间元素正好是要查找的元素,则搜索过程结束; 如果某一特定元素大于或 ...
- 匿名函数、冒泡排序,二分法, 递归
匿名函数 lambda 匿名函数 格式 lambda 参数:返回值 函数名统一叫lambda,最多只能写一行普通的正常的函数 def func(n):return n * n lambda匿名函数写法 ...
- python冒泡排序函数_python冒泡排序-Python,冒泡排序
arr = [ 7 , 4 , 3 , 67 , 34 , 1 , 8 ] . def bubble_sort : 最近在学习Python,下面是我的一些笔记 冒泡排序 实现思路: 使用双重for循环 ...
- python基础二 函数 递归 装饰器 迭代器 生成器 内置函数 二分法应用
函数 迭代器 生成器 拆包和装包 tup=("j1","a1","c1","k1") a,b,c,d=tup print ...
- sorted_一个函数秒杀冒泡排序算法和选择排序
sorted一招杀a = [3,9,12,4,5,7,8,110]print(sorted(a,reverse=True))# true为降序print(sorted(a,reverse=False) ...
- 前端学习(1819):前端面试题之封装函数之冒泡排序
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...
- C语言-冒泡排序函数
冒泡排序函数 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.这步做完后,最后的元素会是最大的数. 针对所有的元素重复以上的步骤,除 ...
- C++阶段01笔记汇总【C++软件安装、C++初识、数据类型、运算符、程序流程结构、数组、函数、指针、结构体】
C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 C++课程安排 1 C++初识 1.1 第一个C++程序 1.1.1 创建项目 1.1.2 创建文件 1.1.3 编写代码 1. ...
最新文章
- JavaScript调用ATL COM(二)
- 枚举重名_举重设计模式示例
- bash脚本 文件_如何使用Bash脚本来管理从AWS S3存储桶下载和查看文件
- 前端学习(2309):react之同级传值
- 修改uid gid 的起始范围
- Mysql平滑迁移(重构后的数据平滑迁移)
- DRF parser请求流程
- SharePoint2010企业开发最佳实践(八)---- SPWeb 对象
- Memcached(七)Memcached的并发实例
- SNMP Trap调试记录
- 中国象棋游戏设计与实现
- 各国程序员薪资水平,咱有点惨...
- 眼见为实(2):介绍Windows的窗口、消息、子类化和超类化
- PreTranslateMessage详解
- 基于Arduino的土壤湿度检测
- 常用ANSI C语言标准库函数汇总(一)
- WEB网页短信平台网页短信系统上线
- 标签设计软件如何批量制作ITF14码
- 西瓜定位的是10分钟以内的中长视频,抖音定位的是3分钟以内的短视频
- geoserver|四种服务介绍
热门文章
- 本科生计算机论文中文核心,本科计算机想投中文核心,求推荐刊物!
- 写项目总结写哪些方面
- CorelDRAW暗角效果怎么做?
- 《思考的技术》--大前研一读书笔记
- 设计网站如何提高版式的设计水平?
- win10打开计算机黑屏怎么办,win10系统重启黑屏怎么办
- 有机酸的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- Easy Touch 5 简单使用
- C++PrimerPlus 第六章 分支语句和逻辑运算符 - 6.1 if语句
- 渲染的本质: 纹理过滤(Texture filtering)技术