#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 学习网站:www.liaoxuefeng.com
#****************************************************
# Python3 函数式编程-高阶函数-filter/sorted *
#****************************************************
print ("--------------------分割线------------------")
#============
# filter()
#============
'''
内建的filter()函数用于过滤序列
和map类似,filter()也接收一个函数和一个序列。和map()不同的是,filter
把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留
还是丢弃该元素。
'''
# 在一个list中,删除偶数,只保留奇数
def is_odd(n):
return n % 2 == 1
list_b = [1, 2, 3, 4, 5, 6, 7, 8]
print( list(filter(is_odd, list_b)) ) # [1, 3, 5, 7]
# 把一个序列中的空字符串删掉
def not_empty(s):
return s and s.strip()
list_c = ['A',' ','b','','d']
print( list(filter(not_empty, list_c)) ) # ['A', 'b', 'd']
# 使用filter()这个高阶函数,关键在于正确实现一个“筛选”函数。
# filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫
# filter()完成计算结果,需要用List()函数获得所有结果并返回list。
# 利用filter筛选出100-200以内的回数
def is_palindrome(n):
return str(n)==str(n)[::-1]
print( list(filter(is_palindrome, range(100,200))) )
# [101, 111, 121, 131, 141, 151, 161, 171, 181, 191]
print ("--------------------分割线------------------")
#============
# sorted()
#============
# 对list中的数字进行排序
list_d = [-10, -25, 1, 50, 20]
print( sorted(list_d) ) # [-25, -10, 1, 20, 50]
# sorted()还可以接收一个key函数来实现自定义的排序,按绝对值大小排序
print( sorted(list_d, key=abs) ) # [1, -10, 20, -25, 50]
# 对字符串排序,按ASCII码排序
list_e = ['bob', 'about', 'Zoo', 'Card']
print( sorted(list_e) ) # ['Card', 'Zoo', 'about', 'bob']
# 忽略大小写,重新对字符串排序
print( sorted(list_e, key=str.lower) ) # ['about', 'bob', 'Card', 'Zoo']
# 忽略大小写,进行反向排序
print( sorted(list_e, key=str.lower, reverse=True) )
# ['Zoo', 'Card', 'bob', 'about']
'''
假设我们用一组tuple表示学生名字和成绩:
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
请用sorted()对上述列表分别按名字排序:
'''
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_name(t):
return t[0]
def by_score(t):
return t[1]
print( sorted(L, key=by_name) )
# [('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
print( sorted(L, key=by_score) )
# [('Bart', 66), ('Bob', 75), ('Lisa', 88), ('Adam', 92)]
# t[0],和t[1] 为什么就能直接用了元组的第一,二项?
# 因为key指定的函数将作用于L的四个元素而非作用与L上!
# 因为key指定的函数将作用于L的四个元素而非作用与L上!
# 因为key指定的函数将作用于L的四个元素而非作用与L上!
相关推荐
国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
Python3 学习笔记6_字符串_20180224
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 字符串 * #*************************...
PotPlayer自用皮肤
自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。
Python3 学习笔记20_函数式编程-高阶函数-map/reduce_20180312
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数式编程-高阶函数-map/reduce * #************************...
2-shell及常用命令-续.pdf
2-shell及常用命令-续.pdf
Ubuntu20.04下运行VINS系列:VINS-Mono、VINS-Fusion和GVINS
安装好了VINS-Mono所需的ROS noetic、Eigen3.4.0、Ceres2.10和OpenCV4.2.0等。VINS-Mono是在ROS melodic以及Ceres1的环境下开发的,因此需要适配高版本的环境。
Python3 学习笔记5_数字(Number)_20180223
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 数字(Number) * #***********************...
西门子S7-200 SMART 实战解析:滑动平均值滤波算法在模拟量信号处理中的应用
本文详细解析了在西门子S7-200 SMART PLC中实现滑动平均值滤波算法的实战应用。通过处理模拟量信号如温度、压力等,该算法有效抑制信号干扰,提升系统稳定性。文章涵盖算法原理、程序框架、信号采集及调试优化,为工业自动化工程师提供实用指南。
Python3 学习笔记8_元组_20180227
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 元组 * #*************************...
从Mate到Mate40 Pro+:华为旗舰核心配置演进与选购避坑指南
本文回顾了华为Mate系列从初代到Mate40 Pro+的核心配置演进历程,重点分析了处理器性能、影像系统、屏幕设计及续航快充的技术突破。针对选购需求,提供了区分版本、5G选择及存储配置的实用避坑建议,帮助消费者明智选择华为旗舰机型。
Vivado2023.2与Vitis协同开发:从Hello World到BOOT.BIN的完整流程解析
本文详细解析了使用Vivado 2023.2与Vitis协同开发ZYNQ/MPSoC平台的完整流程。从环境安装、硬件设计、软件编写、在线调试到生成独立的BOOT.BIN启动文件,手把手指导开发者完成从Hello World到系统固化的全步骤,并提供了常见问题的避坑指南,帮助初学者快速掌握软硬件协同开发的核心技能。
Python3 学习笔记14_递归函数_20180305
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数 * #************************...
底层软件测试规范,QA评审底层测试
本文首发于【林子的空间】“林子,咱们上次讨论的高效Desk check清单,用起来还挺好的,最近我们组每次Desk check变得顺利多了,Dev也是越来越熟练。”玥玥跟我说。“真好!我们组感觉也是这样!”“不过,我听小慧说他们组有人对QA review UT提出了一些concern(质疑),觉得QA review的价值不大,基本都是Dev给讲一遍,QA也提不出来什么反馈...”玥玥补充说道。“哦...
Python3 学习笔记4_运算符_20180223
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 运算符 * #*************************...
【OpenClaw企业级智能体实战】第13篇:1+N架构实战!OpenClaw多Agent数字员工军团搭建指南(含完整配置+路由策略+代码落地)
单Agent因“记忆负担重、Token消耗高、响应不精准”已难以满足复杂场景需求,而多Agent团队通过“1个编排者+N个执行者”的分工协作模式,能让效率提升300%以上。本文基于OpenClaw 2026稳定版,结合阿里云开发者社区实战案例,从核心认知、准备工作、实操流程、协作机制、安全配置五大维度,完整拆解多Agent团队搭建全流程。文中包含可直接复制执行的代码、详细配置模板、路由策略设置及常见问题排查,新手可在1-2小时内落地属于自己的“数字员工”军团,覆盖内容创作、技术支持、多平台运营等多场景。
游戏大厂技术护城河——为什么你抄不了原神?
│ │ │ │ ↓ 通过 │ │ │ │。│ │ │ │ ↓ 成功 │ │ │ │。│ │ │ │ ↓ 完成 │ │ │ │。│ │ │ │ ↓ 达标 │ │ │ │。
Python3 学习笔记13_函数的参数_20180305
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数 * #************************...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
Python3 学习笔记23_函数式编程-匿名函数_20180314
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数式编程-匿名函数 * #************************...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
Python3 学习笔记11_条件语句_20180301
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 循环语句 * #*************************...
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
Python3 学习笔记9_字典_20180228
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 字典 * #*************************...
Python3 学习笔记1_基础语法_20180209
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 教程 * #*********************...
Python3 学习笔记10_条件语句_20180228
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 条件语句 * #*************************...
Python3 学习笔记25_函数式编程-偏函数_20180315
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.liaoxuefeng.com #**************************************************** # Python3 函数式编程-偏函数 * #************************...
Python3 学习笔记3_基本数据类型_20180222
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 学习网站:www.runoob.com #**************************************************** # Python3 基本数据类型 * #***************************...
502



被折叠的 条评论
为什么被折叠?



