返回顶部
首页 > 资讯 > 后端开发 > Python >第十四天-内置函数
  • 171
分享到

第十四天-内置函数

函数第十四天 2023-01-30 22:01:08 171人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

    内置函数: 传送门 ————————————————— # 匿名函数# 为了解决一些简单的需求⽽设计的一句话函数 不需要def来声明 一句话就可以声明一个函数# 函数名 = lambda 参数: 返回值 1 # 例子 lam

 

 

内置函数:

传送门

—————————————————

# 匿名函数
# 为了解决一些简单的需求⽽设计的一句话函数 不需要def来声明 一句话就可以声明一个函数
# 函数名 = lambda 参数: 返回值
 1 # 例子 lambda 求和 求幂
 2 a = lambda n : n**n  # 可用变量a来代替函数名 正常调用
 3 r = a(3)
 4 print(r)
 5 
 6 b = lambda n,m : n+m
 7 re = b(3,2)
 8 print(re)
 9 
10 # 求序列长度
11 long = lambda st : len(st)
12 st = '156161DDD'  # st作为一个参数
13 re = long(st)  # long调用st
14 print(re)

注意:

  1. 函数的参数可有多个. 多个参数之间用逗号隔开

   2. 匿名函数不管多复杂. 只能写⼀⾏, 且逻辑结束后直接返回数据

  3. 返回值和正常的函数⼀样, 可以是任意数据类型

 

# sorted  排序函数.
# 语法: sorted(Iterable, key=None, reverse=False)
 1 # 可直接对序列使用
 2 lis = [1,3,5,8,9,45,12,34]
 3 lis2 = sorted(lis)
 4 print(lis2) # 返回的新列表是经过排序的
 5 dic = {1:'A', 3:'C', 2:'B'}
 6 print(sorted(dic)) # 字典直接使用返回的是排序后的key
 7 
 8 # 和函数组合使用
 9 lis = ['张三','114561',"李四1",'4414','赵五22222'] # 按字符长短排序
10 def func(s):
11     return len(s)
12 # 把列表中的每一个元素传递给func 根据func返回值进行排序
13 s = sorted(lis,key=func)
14 print(s)
15 # 和lambda组合使用
16 print(sorted(lis,key=lambda i:len(i)))
17 
18 # 按年龄排序
19 lis = [{'id':1,'name':'lx','age':28},
20 {'id':2,'name':'tab','age':58},
21 {'id':3,'name':'tah','age':18},
22 {'id':4,'name':'hei','age':38}]
23 
24 def age(s):
25     return s['age']
26 print(sorted(lis,key=age))
27 # 组合lambda排序
28 print(sorted(lis,key=lambda dic:dic['age']))

 

# filter 筛选函数
# 语法: filter(function. Iterable)
# 把后面可迭代对象每一个元素交给前面的函数 根据函数返回的True 和 False进行筛选,判断是否保留该元素
 1 lis = ['313','sdads','3333','sss','deefa'] # 筛选长度大于3的
 2 re = list(filter(lambda s:len(s)>3,lis)) # 注意用list迭代装筛选出来的元素
 3 print(re)
 4 
 5 # 筛选>=38的
 6 lis = [{'id':1,'name':'lx','age':28},
 7 {'id':2,'name':'tab','age':58},
 8 {'id':3,'name':'tah','age':18},
 9 {'id':4,'name':'hei','age':38}]
10 
11 print(list(filter(lambda dic:dic['age']>=38,lis))) 
12 
13 # 注意筛选完后用 list 可迭代装元素 

 

# map 映射函数
# 语法: map(function, iterable)
# 把后面可迭代对象每一个元素交给前面的函数 保留执行结果
1 lis = [1,2,3,4,5,6,8] # 返回每个元素平方
2 re = map(lambda s:s**2,lis)
3 print(list(re))
4 
5 # 给出一个列表 正确的用户名: alex 密码:456 选出正确的
6 lis = ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]
7 print(list(map(lambda s:s=='alex_456',lis)))
8 # 或者.split 分割成列表
9 print(list(map(lambda s: s.split("_")[0] == 'alex' and s.split("_")[1] == "456",lis)))

 

# 递归
# 在函数中 调用函数本身就是递归
 1 # def func():
 2 #     print("我是谁")
 3 #     func()
 4 # func()  # 会报错
 5 
 6 # 递归的应用:可以使用递归来遍历各种树形结构,比如我们的文件夹系统.可以使用递归来遍历该文件夹中的所有文件
 7 
 8 # 打开一个文件夹. 获取到文件夹内的所有文件名
 9 # 1. 打开一个文件夹
10 #.2. 判断这个文件是否是文件夹
11 
12 import  os
13 def func(path):
14     lis = os.listdir(path)  # 打开文件夹 列出文件夹所有内容(文件夹名)
15     for el in lis: # 当前文件夹内所有的文件名
16         file_real_path = os.path.join(path,el) # 拼接路径
17         if os.path.isdir(file_real_path): # 判断是否文件夹
18             print(el)
19             func(file_real_path)  # 递归 重新执行上面的操作
20         else: # 不是文件夹是文件
21             print(el)
22 
23 func("e:/a"

 

# 二分查找
# 二分查找.每次能够排除掉一半的数据.查找的效率非常高.但是局限性较大.必须是有序序列才可以使用二分查找
# 要求:查找的序列必须是有序序列.
 1 # 判断n是否在列表中
 2 lst = [4, 56, 178, 253, 625, 1475, 2580, 3574, 15963]
 3 n = int(input("请输入一个数字"))
 4 left = 0
 5 right = len(lst)-1
 6 while left <= right:
 7     z = (left + right) // 2  # 整除 找到中间索引位置
 8     if n < lst[z]:
 9         right = z-1
10     elif n > lst[z]:
11         left = z+1
12     else:
13         print("找到了!")
14         break
15 else:
16     print("没有")

 

 





--结束END--

本文标题: 第十四天-内置函数

本文链接: https://lsjlt.com/news/180131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 第十四天-内置函数
        内置函数: 传送门 ————————————————— # 匿名函数# 为了解决一些简单的需求⽽设计的一句话函数 不需要def来声明 一句话就可以声明一个函数# 函数名 = lambda 参数: 返回值 1 # 例子 lam...
    99+
    2023-01-30
    函数 第十四天
  • 我的python学习--第十四天(一)
    一、运维管理系统(基于Flask)回顾1、权限控制  通过session实现权限控制,session是一个全局字典,当用户登录时,可以获取到用户的用户名,通过查找数据库获取用户的权限保存进session中,在每次页面跳转时同过查询sessi...
    99+
    2023-01-31
    第十四天 python
  • 学习python的第十四天(可变长参数,
    一.可变长参数 1.可变长形参之(*) 形参中的会将溢出的位置实参全部接收,然后存储元组的形式,然后把元组赋值给后的参数。需要注意的是:*后的参数名约定俗成为args。 def sum_self(*args): res = 0 ...
    99+
    2023-01-31
    变长 参数 第十四天
  • Java面试题冲刺第十四天--PRC框架
    目录面试题1:说说你对RPC框架的理解?追问1:RPC框架实现原理是什么样的1、建立通信2、服务寻址3、网络传输4、服务调用面试题2:常见的RPC框架有哪些?面试题3:说说RPC和S...
    99+
    2024-04-02
  • 学习python的第十五天(函数的装饰器
    一.装饰器 1.函数装饰圈的定义 函数装饰器:一种装饰函数的函数 2.个人理解两层函数装饰器 两层函数装饰器个人觉得他其实就是把需要装饰的函数名丢入形参,然后用一个嵌套的函数对其头尾进行添加程序,但是不能减少他的程序内容,他的原来程序不...
    99+
    2023-01-31
    函数 python
  • Python第四课----函数
    函数一、函数由若干语句组成的语句块,函数名称、参数列表构成,它是组织代码的最小单元。二、函数的作用1、对代码的最基本封装,按照功能组织一段代码。 2、目的为了复用,减少冗余代码。三、函数分类1、内建函数:max(),reversed()。 ...
    99+
    2023-01-31
    函数 Python
  • Java面试题冲刺第二十四天--并发编程
    目录面试题1:说一下你对ReentrantLock的理解?CAS:AQS:追问1:你认为 ReentrantLock 相比 synchronized 都有哪些区别?面试题2:解释一下...
    99+
    2024-04-02
  • 第十八天- 类型判断 函数和方法判断 反
      # isinstance type issubclass 内置函数:# 1.issubclass() 这个内置函数可判断xxx类是否是yyy类型的子类# issubclass(子类,父类) 1 class Base: 2...
    99+
    2023-01-30
    函数 类型 方法
  • 第十一节:pandas统计函数
    1、pct_change()计算增长比例 2、cov()协方差 3、corr()相关系数 4、rank()数据排名 5、numpy聚合函数   ...
    99+
    2023-01-30
    函数 第十一节 pandas
  • Java面试题冲刺第四天--数据库
    目录面试题1:你对数据库优化有哪些了解呀?正经回答:深入追问:追问1:那你对SQL优化方面有哪些技巧呢?追问2:嗯,那你说一下为什么不建议用SELECT * 呢?二、SELE...
    99+
    2024-04-02
  • python3第四天(基本数据类型扩展)
    数字Number数字数据类型用于存储数值,数据类型是不允许改变的,因此要改变数字数据类型的值时,会被重新分配空间.因为变量是直接使用,所以可直接输入变量名.也可同时赋值.如,var1=10;删除变量用del 变量名1,变量名2...pyth...
    99+
    2023-01-31
    数据类型 第四天
  • flask 第四章 偏函数 Local空
    1 . 偏函数 (partial) from functools import partial def func(*args,**kwargs): a=args b=kwargs return a,b ne...
    99+
    2023-01-31
    第四章 函数 flask
  • Mysql SQL查询今天、昨天、n天内、第n天的数据
      转:Mysql SQL查询今天、昨天、n天内、第n天的数据       查询5分钟前的数据select * from table where end_date between date_add(now(), ...
    99+
    2015-01-15
    Mysql SQL查询今天 昨天 n天内 第n天的数据 数据库入门 数据库基础教程 数据库 mysql
  • Java面试题冲刺第十二天--数据库(2)
    目录面试题2:并发场景下事务会存在哪些数据问题? 正经回答:深入追问:追问1:那Innodb是如何解决幻读问题的呢?面试题3:说一下MySQL中你都知道哪些锁?正经回答:深入追问: ...
    99+
    2024-04-02
  • Java面试题冲刺第十三天--数据库(3)
    目录面试题1:MySQL有哪些数据类型?追问1:char 和 varchar 的区别是什么?1、固定长度 & 可变长度2、存储方式3、存储容量4、思考:既然VARCHAR长度...
    99+
    2024-04-02
  • Java面试题冲刺第十九天--数据库(4)
    目录面试题1:说一下你对聚集索引与非聚集索引的理解,以及他们的区别?1、聚集索引2、非聚集索引追问1:为什么聚集索引可以创建在任何一列上,如果此表没有主键约束,即有可能存在重复行数据...
    99+
    2024-04-02
  • Java面试题冲刺第三十天--数据库(6)
    目录面试题1:有个需求需要快速删除MySQL表中一亿条数据,表中有2亿数据,能说一下你的思路么?1、复制表+删除索引2、分批插入数据3、drop删除掉老表4、重命名新表为n...
    99+
    2024-04-02
  • 学习python的第十一天(集合数据类型
    1.集合数据类型 1.定义 用{}中间值用,隔开,且集合中元素排列是无序的,而且如果有相同元素会只保留一个 2.算法 1.必须掌握 1.长度len set_1 = {1,2,3,4,5} print(len(set_1)) #5 2.成...
    99+
    2023-01-31
    数据类型 第十一天 python
  • python3第五天(条件,循环,函数)
    if语句:    if 条件1:        ..    elif 条件2:        ..    else:        ..每个条件后面用冒号来表示当满足条件之后要执行的语句.while循环:    while 条件:     ...
    99+
    2023-01-31
    函数 第五天 条件
  • Java面试题冲刺第二十八天--数据库(5)
    目录面试题1:MySQL数据库cpu飙升到500%的话你会怎么处理?面试题2:什么是存储过程?有哪些优缺点优点在数据库中集中业务逻辑使数据库更安全较快的执行速度缺点不可移植性复杂存储...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作