python代码:匿名函数lambda、列表解析list comps
python代码:匿名函数lambda、列表解析list comps
书《Python核心编程(第二版).pdf》,作者:Wesley J. Chun
#!/usr/bin/python # -*- coding: UTF-8 -*- """ @author: @file:oddnogen.py @time:2022-03-17 20:36 """ # ==== # 知识点 # 列表解析List comprehensions,或缩略为list comps # ---- # 语法: # [expr for iter_var in iterable] # 这个语句的核心是for循环,它迭代iterable对象的所有条目。前边的expr应用于序列的每个成员,最后的结果值是该表达式产生的列表。迭代变量并不需要是表达式的一部分。 # 举例: # result = [i * 2 for i in [8, -2, 5]] # [16, -4, 10] # result = [i for i in range(8) if i % 2 == 0] # [0, 2, 4, 6] # result = [x ** 2 for x in range(6)] # [0, 1, 4, 9, 16, 25] # # # # # 匿名函数lambda # ---- # 语法: # lambda [arg1[, arg2, ..., argN]]: expression # 举例: # def add(x, y): return x + y <==> lambda x, y: x + y # def usuallyAdd2(x, y=2): return x + y <==> lambda x, y=2: x + y # def showAllAsTuple(*z): return z <==> lambda *z: z # ==== # # # # # 代码 # 使用filter()来获得任意奇数的简短列表的脚本。 # 该脚本产生一个较大的随机数集合,然后过滤出所有的偶数,留给我们一个需要的数据集。# from random import randint # # # 确定一个整型数是奇数(True)或者偶数(False)的Boolean函数。 # def odd(n): # return (n % 2) == 1 # # def filter(bool_func, seq): # filtered_seq = [] # for eachItem in seq: # if bool_func(eachItem): # filtered_seq.append(eachItem) # return filtered_seq # # # 产生10个在1~100的随机数,然后调用filter()来移除掉所有的偶数。 # # 最后,先显示出我们过滤列表的大小,然后是奇数的集合。 # allNums = [] # for eachNum in range(10): # 依次产生[0, 10)个整数 # allNums.append(randint(1, 99)) # 随机产生一个[1, 99]的整数 # allNums.sort() # 排序 # print(allNums) # [42, 13, 58, 86, 63, 54, 40, 50, 77, 73] # # ---- # # result = filter(odd, allNums) # 方式一:自己写函数 # # ---- # # result = filter(lambda n: (n % 2) == 1, allNums) # 方式二:使用匿名函数 # # ---- # result = [n for n in allNums if (n % 2) == 1] # 方式三:整合列表解析 # print(result) # [13, 63, 77, 73]# ==== # 最后,简化后的最终代码如下: from random import randint result = [n for n in [randint(1, 99) for i in range(10)] if (n % 2) == 1] print(result)
python代码:匿名函数lambda、列表解析list comps相关推荐
- python的匿名函数lambda
#/普通函数 def func(a,b,c):return a+b+cprint(func(1,2,3)) #返回值为6#lambda匿名函数 func = lambda a,b,c:a+b+cpri ...
- python lambda_Python 匿名函数 lambda
可以用 lambda 关键字来创建一个匿名函数.lambda 函数可以在需要函数对象的任何地方使用.从语义上来说,它们只是正常函数定义的语法糖. 名词 Lambda( /ˈlæmdə/ 大写Λ,小写λ ...
- Python内置函数filter()和匿名函数lambda解析
一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...
- Python教程:内置函数filter()和匿名函数lambda解析
一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...
- python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)
python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...
- python学习-高阶函数(函数传参、返回函数(闭包)、匿名函数lambda)
文章目录 高阶函数 函数传参 返回函数(闭包) 匿名函数lambda 高阶函数 定义: 至少满足下列一个条件: 接受一个或多个函数作为输入 输出一个函数 python里的高阶函数有 filter.ma ...
- Python 匿名函数 lambda - Python零基础入门教程
目录 一.Python 匿名函数 lambda 语法 二.Python 匿名函数 lambda 调用 1.lambda 匿名函数常规使用 2. lambda 匿名函数使用不定长参数 3. lambda ...
- Python匿名函数lambda的使用
Python匿名函数lambda的使用 一.匿名函数介绍 在Python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数. lambda函数能接收任何数量(可以是0个 ...
- Python编程基础:第五十三节 匿名函数Lambda Function
第五十三节 匿名函数Lambda Function 前言 实践 前言 匿名函数是一种非常优雅的表达方式,它可以将函数定义用一行代码进行表示.其书写方式为参数列表:函数实现,其中多个参数之间用逗号隔开, ...
最新文章
- c#数组赋初值_JavaScript数组的声明、访问和遍历方法
- 如何用 Java 实现简单的区块链
- 简单的Tab切换组件
- 【视图】ABAP Views
- java doc说明书_JAVADOC 常见使用方法 帮助文档
- 与时俱进 | 博客现已运行在 .NET Core 3.0 及 Azure 上
- java异常顺序_网易新闻
- 蓝桥杯 基础练习 数列排序
- 启智社区亮相2020全球智博会,千万奖金悬赏优秀开发者
- jQuery UI dialog实现dialog弹框显示
- 【数据库】MySql分割字符串
- 索益Mike的excel商品操作
- 推荐克莱夫·汤普森《天才程序员》
- WebService-服务端与客户端
- 一个免费ss网站的数据爬取过程
- mysql 三表联查_MySql的join(连接)查询 (三表 left join 写法)
- 【概率】甲乙射击比赛,单局甲胜率0.6,3局2胜和5局3胜两种赛制甲如何选择?无限多局,甲获胜概率?
- 大二面试bat ,阿里巴巴面试经历,普通本科(二本)
- 软件测试学习笔记(九)淘宝测试
- 后台获取访问端的真实ip地址
热门文章
- kali linux 上安装MySQL 8.0.16
- python3中urllib2_urllib2库在Python中的基本使用
- ubuntu中视频播放器、音乐播放器安装
- IEEE 802.1标准简介
- linux7samba服务器配置,centos7
- Linux从基础入门-服务器部署应用(一)Linu基础介绍
- python打包成exe文件提示PermissionError: [Errno 13] Permission denied: ‘C:\\Users\\wj\\AppData\\Local\\Progr
- MDCC 主题论坛:HTML5Web App
- 0xc00000f怎么解决 0xc00000f错误代码解决方法[多图]
- 6.查询学过编号“001”并且也学过编号“002”课程的同学的学号、姓名