python学习-day9内置函数(高阶)
视频链接:https://www.bilibili.com/video/BV1SE411N7Hi?p=59
知识链接:https://guobaoyuan.gitee.io/new_book/Python/13-1%20%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E4%BA%8C.html
以下内容仅供自己学习使用,侵删
#!/usr/bin/env python
# -*- coding:utf-8 -*-#-----------------------高阶函数-----------------------------
# reversed(可迭代对象)--反转
# filter(过滤规则的函数,可迭代对象)--过滤
# map(映射要执行的函数,可迭代对象,可迭代对象,可迭代对象)--映射
# sorted(可迭代对象,key=排序规则)--排序
# max()--求最大值# filter()--过滤
# filter(函数就是写过滤,可迭代对象)# lst=[1,2,3,4,5,6,7,8]
# def func(x):#这个func必须有一个参数
# return x>4
# print(list(filter(func,lst)))#[5, 6, 7, 8]
#
# """
# 高阶函数帮我们实现了一个for循环
# 模拟一个filter的原理
# """
# lst=[1,2,3,4,5,6,7,8]
# def foo(x):#这个func必须有一个参数
# return x>4#为真返回True,否则False
# def filter(foo,iter):
# """
#
# :param func:
# :param iter:
# :return:
# """
# new_lst = []
# for i in iter:
#
# if func(i)==True:#foo(i)
# new_lst.append(i)
# return new_lst
# filter(foo,lst)lstt=[1,2,3,4,5,6,7]print('lstt:', list(filter(lambda x:x<3,lstt)))lst=["三国演义","水浒传","红楼梦","西游记","白蛇传","还珠格格","聊斋"]
#过滤掉长度小于3个字的
#过滤出长度大于2个字的
def func(x):return len(x)>=3
print(list(filter(func,lst)))print(list(filter(lambda x:len(x)>3,lst)))
print(list(filter(lambda x:len(x)>2,lst)))#过滤出年龄大于17的
lst = [{'id':1,'name':'alex','age':18},{'id':1,'name':'wusir','age':17},{'id':1,'name':'taibai','age':16},]
print(list(filter(lambda x:x["age"]>=17,lst)))
#[{'id': 1, 'name': 'alex', 'age': 18}, {'id': 1, 'name': 'wusir', 'age': 17}]print("-------map--------")
#map(函数,可迭代对象)映射
#高阶函数的本质是for循环
lst=[1,2,3]
lst1=[1,2,3]
lst2=[1,2,3]
print(list(map(lambda x,y,z:x+y+z,lst,lst1,lst2)))#[3, 6, 9]print(list(map(str,lst)))#['1', '2', '3']
print(list(map(lambda x:str(x),lst)))#['1', '2', '3']
'''类似于
for i in lst:str(i)
'''print("-----sorted--------")#排序
#sorted(可迭代对象,key=排序规则(函数))
#本质是for循环,每循环一次,调用排序规则,记录,最后进行排序
lst=[1,2,3,4,111,6,7,8,89]
lst1=[1,2,3,123,12,4312,3132,-1111]
print(sorted(lst,reverse=True))#排序 [111, 89, 8, 7, 6, 4, 3, 2, 1]
print(sorted(lst1,key=lambda x:abs(x)))#[1, 2, 3, 12, 123, -1111, 3132, 4312]
print(sorted(lst1,key=abs))#[1, 2, 3, 12, 123, -1111, 3132, 4312]
lst=["春光灿烂猪八戒","红楼梦","康熙王朝","搭错车","上错花轿嫁对郎"]
print(sorted(lst,key=len))#['红楼梦', '搭错车', '康熙王朝', '春光灿烂猪八戒', '上错花轿嫁对郎']dic={1:'abc',3:'ck',2:'boos'}
print(sorted(dic))#[1, 2, 3]
print(sorted(dic.values()))#['abc', 'boos', 'ck']
print(sorted(dic.values(),key=len))#['ck', 'abc', 'boos']lst=[{'id':1,'name':"alex",'age':18},{'id': 2, 'name': "wusir", 'age': 17},{'id': 3, 'name': "taibei", 'age': 16}]
#通过年龄排序
print(sorted(lst,key=lambda x:x['age']))#升序,如果reverse=True,则降序
#[{'id': 3, 'name': 'taibei', 'age': 16}, {'id': 2, 'name': 'wusir', 'age': 17}, {'id': 1, 'name': 'alex', 'age': 18}]
#通过id降序排
print(sorted(lst,key=lambda x:x['id'],reverse=True))
#[{'id': 3, 'name': 'taibei', 'age': 16}, {'id': 2, 'name': 'wusir', 'age': 17}, {'id': 1, 'name': 'alex', 'age': 18}]print("--------max,min-------")
print(max([1,2,3,4,56,-1212,7,8,9,9],key=str))#9,对比ascii码,'
print(min([1,2,3,4,56,-1212,7,8,9,9],))#-1212
print(min([1,2,3,4,56,-1212,7,8,9,9],key=abs))#1print("-----reduce------")
lst=[1,2,3,4,5]
from functools import reduce
def func(x,y):return x+y
print(reduce(func,lst))
#1+2的结果给x,3给y,以此类推
python学习-day9内置函数(高阶)相关推荐
- python学习总结----内置函数及数据持久化
python学习总结----内置函数及数据持久化 抽象基类(了解)- 说明:- 抽象基类就是为了统一接口而存在的- 它不能进行实例化- 继承自抽象类的子类必须实现抽象基类的抽象方法 - 示例:from ...
- Python学习(14)--内置函数
Python学习(14)--内置函数 1.Python内置函数 在Python中有很多的内置函数供我们调用,熟练的使用这些内置函数可以让编写代码时事半功倍,所谓内置函数就是那些Python已经预定义并 ...
- 【Python学习】内置函数(不断更新)
关于常用在for循环中的range函数 python range() 函数可创建一个整数列表,一般用在 for 循环中. 函数语法 range(start, stop[, step]) 参数说明: s ...
- python学习之- 内置函数
内置方法:1:abs():取绝对值2:all():当可迭代对象里所有均为真时结果为真. all([1,2,3])3:any():当可迭代对象里任意一个数据为真结果即为真.any([0,1,2])4:a ...
- Python 函数式编程,Python中内置的高阶函数:map()、reduce()、filter()与sorted(),Python中返回函数
函数式编程 是一种编程范式,比函数更高层次的抽象. 函数式编程将计算视为函数而非指令. 纯函数式编程:不需要变量,没有副作用,测试简单. 支持高阶函数,代码简洁. Python 支持的函数式编程 不是 ...
- python内置高阶函数_map()函数~~内置的高阶函数
''' map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list, 并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如 ...
- python提供的内置函数有哪些_python内置函数介绍
内置函数,一般都是因为使用频率比较频繁,所以通过内置函数的形式提供出来.对内置函数通过分类分析,基本的数据操作有数学运算.逻辑操作.集合操作.字符串操作等. 说起我正式了解内置函数之前,接触到的是la ...
- python 两个内置函数——locals 和globals(名字空间)批量以自定义变量名创建对象
文章目录 locals 和globals(名字空间)简介 1.局部变量函数locals例子(locals 返回一个名字/值对的字典) 批量创建对象 示例1 示例2 函数内 类内 2.全局变量函数glo ...
- python之路——内置函数和匿名函数
楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题... 来你们在自己的环境里打印 ...
- python中如何调用函数_如何调用python中的内置函数?(实例解析)
对于第一次接触到python这门编程语言的朋友来说,刚刚开始学习python编程的时候对于python函数调用这一方面的了解比较少,在这篇文章之中我们就来了解一下python怎么调用函数. Pytho ...
最新文章
- TensorFlow基础11-(小批量梯度下降法和梯度下降法的优化)
- 要不是这本书及时出现,本周真撑不下去…
- 方舟自建服务器物品叠加mod,10000倍物品叠加 -90%负重 V280
- Boost::context模块fiber的jump_mov测试程序
- VS与Matlab混合编译 - mexw64 (C++版)
- linux 简单Shell程序设计,利用linux下的c语言编程来简单的实现一个shell功能实现!...
- Oracle初学者入门指南-什么是 Metalink 或 MOS ?
- ai伪造论文实验数据_5篇有关AI培训数据的基本论文
- spring总结(01)
- python爬去百度百科词条_Python爬虫入门学习实践——爬取小说
- delphi 中 的 Split 函数
- 《android深入探索》第四章心得
- C语言的新扩展typeof
- python爬虫难度排行榜_无聊写了一个python爬虫程序,用来爬夕阳试炼场排行榜的...
- 超便利在线电路仿真软件
- Error: Module “./D:/yongxuworks/youxu-web/node_modules/@umijs/babel-preset-umi/node_modules/@babel/r
- ”小糊涂“与美女网站的收费机制
- [原]产品经理和韦小宝
- Kafka 的消息异常情况~追日
- java jar下载_java jar包资源下载