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相关推荐

  1. 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 ...

  2. python lambda_Python 匿名函数 lambda

    可以用 lambda 关键字来创建一个匿名函数.lambda 函数可以在需要函数对象的任何地方使用.从语义上来说,它们只是正常函数定义的语法糖. 名词 Lambda( /ˈlæmdə/ 大写Λ,小写λ ...

  3. Python内置函数filter()和匿名函数lambda解析

    一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...

  4. Python教程:内置函数filter()和匿名函数lambda解析

    一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...

  5. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)

    python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...

  6. python学习-高阶函数(函数传参、返回函数(闭包)、匿名函数lambda)

    文章目录 高阶函数 函数传参 返回函数(闭包) 匿名函数lambda 高阶函数 定义: 至少满足下列一个条件: 接受一个或多个函数作为输入 输出一个函数 python里的高阶函数有 filter.ma ...

  7. Python 匿名函数 lambda - Python零基础入门教程

    目录 一.Python 匿名函数 lambda 语法 二.Python 匿名函数 lambda 调用 1.lambda 匿名函数常规使用 2. lambda 匿名函数使用不定长参数 3. lambda ...

  8. Python匿名函数lambda的使用

    Python匿名函数lambda的使用 一.匿名函数介绍 在Python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数. lambda函数能接收任何数量(可以是0个 ...

  9. Python编程基础:第五十三节 匿名函数Lambda Function

    第五十三节 匿名函数Lambda Function 前言 实践 前言 匿名函数是一种非常优雅的表达方式,它可以将函数定义用一行代码进行表示.其书写方式为参数列表:函数实现,其中多个参数之间用逗号隔开, ...

最新文章

  1. c#数组赋初值_JavaScript数组的声明、访问和遍历方法
  2. 如何用 Java 实现简单的区块链
  3. 简单的Tab切换组件
  4. 【视图】ABAP Views
  5. java doc说明书_JAVADOC 常见使用方法 帮助文档
  6. 与时俱进 | 博客现已运行在 .NET Core 3.0 及 Azure 上
  7. java异常顺序_网易新闻
  8. 蓝桥杯 基础练习 数列排序
  9. 启智社区亮相2020全球智博会,千万奖金悬赏优秀开发者
  10. jQuery UI dialog实现dialog弹框显示
  11. 【数据库】MySql分割字符串
  12. 索益Mike的excel商品操作
  13. 推荐克莱夫·汤普森《天才程序员》
  14. WebService-服务端与客户端
  15. 一个免费ss网站的数据爬取过程
  16. mysql 三表联查_MySql的join(连接)查询 (三表 left join 写法)
  17. 【概率】甲乙射击比赛,单局甲胜率0.6,3局2胜和5局3胜两种赛制甲如何选择?无限多局,甲获胜概率?
  18. 大二面试bat ,阿里巴巴面试经历,普通本科(二本)
  19. 软件测试学习笔记(九)淘宝测试
  20. 后台获取访问端的真实ip地址

热门文章

  1. kali linux 上安装MySQL 8.0.16
  2. python3中urllib2_urllib2库在Python中的基本使用
  3. ubuntu中视频播放器、音乐播放器安装
  4. IEEE 802.1标准简介
  5. linux7samba服务器配置,centos7
  6. Linux从基础入门-服务器部署应用(一)Linu基础介绍
  7. python打包成exe文件提示PermissionError: [Errno 13] Permission denied: ‘C:\\Users\\wj\\AppData\\Local\\Progr
  8. MDCC 主题论坛:HTML5Web App
  9. 0xc00000f怎么解决 0xc00000f错误代码解决方法[多图]
  10. 6.查询学过编号“001”并且也学过编号“002”课程的同学的学号、姓名