一,列表推导式和生成器表达式

l = [i for i in range(10)]

print(l)

l1 = ['选项%s'%i for i in range(10)]

print(l1)

1.把列表解析的[]换成()得到的就是生成器表达式

2.列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更节省内存

3.Python不但使用迭代器协议,让for循环变得更加通用。大部分内置函数,也是使用迭代器协议访问对象的。例如, sum函数是Python的内置函数,该函数使用迭代器协议访问对象,而生成器实现了迭代器协议,所以,我们可以直接这样计算一系列值的和:

sum(x ** 2 for x in range(4))

列表推导式

例一:30以内所有能被3整除的数

multiples = [i for i in range(30) if i % 3 is0]print(multiples)#Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

View Code

例二:30以内所有能被3整除的数的平方

defsquared(x):return x*x

multiples= [squared(i) for i in range(30) if i % 3 is0]print(multiples)

View Code

例三:找到嵌套列表中名字含有两个‘e’的所有名字

names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],

['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]print([name for lst in names for name in lst if name.count('e') >= 2]) #注意遍历顺序,这是实现的关键

View Code

字典推导式

例一:将一个字典的key和value对调

mcase = {'a': 10, 'b': 34}

mcase_frequency= {mcase[k]: k for k inmcase}print(mcase_frequency)

View Code

例二:合并大小写对应的value值,将k统一成小写

mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}

mcase_frequency= {k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0) for k inmcase.keys()}print(mcase_frequency)

View Code

集合推导式

例:计算列表中每个值的平方,自带去重功能

squared = {x**2 for x in [1, -1, 2]}print(squared)#Output: set([1, 4])

View Code

练习题:

例1:  过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母

例2:  求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的元祖列表

例3:  求M中3,6,9组成的列表M = [[1,2,3],[4,5,6],[7,8,9]]

python列表推导式生成随机数_Python:列表推导式/生成器推导式相关推荐

  1. python列表推导式生成随机数_python列表推导式

    列表推导式介绍 列表推导式是Python中快速创建列表的一种方式. 之前我们要创建(Python3中)一个元素是0-9的列表,我们可能会像下面这么写: >>> list(range( ...

  2. python列表推导式生成随机数_python 【迭代器 生成器 列表推导式】

    python [迭代器  生成器  列表推导式] 一.迭代器 1.迭代器 如何从列表.字典中取值的 index索引 ,key for循环 凡是可以使用for循环取值的都是可迭代的 可迭代协议 :内部含 ...

  3. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  4. python列表生成字典_Python 列表生成式 字典生成式

    Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

  5. python随机数生成并排序_python_生成随机数与列表排序

    1.  列表排序可采用两种方法 sorted(list) 直接改变list 调用list的方法 list.sort 2. random.randint(a,b) 生成大于等于a小于等于b的整数 ran ...

  6. python生成随机数列表并排序_python_生成随机数与列表排序

    1.  列表排序可采用两种方法 sorted(list) 直接改变list 调用list的方法 list.sort 2. random.randint(a,b) 生成大于等于a小于等于b的整数 ran ...

  7. python列表元素零的移动_python列表多行

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 这个列表推导式共有145列: memberdef_list = and std: ...

  8. python列表使用技巧与方法_Python列表的相关操作与方法

    Python列表的相关操作与方法 1.列表 why:int.bool.str存在缺陷 str:存储少量的数据:所有的操作获取的内容都是 str类型,存储的数据类型单一. what: 列表可以承载任意数 ...

  9. python如何生成随机数_python如何生成随机数

    如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...

最新文章

  1. PHP Socket配置以及实例
  2. 如何知道我的电脑是多少位 ?
  3. 永洪Desktop交叉表怎么按月份汇总
  4. 转:WPF中图形表示语法详解(Path之Data属性语法)
  5. 【作业】条件、循环、函数定义、字符串操作练习
  6. android listview 滑动条显示_ListView详细介绍与使用
  7. Mojoportal 的用户系统
  8. 索纳塔进入wince系统_23项高级安全驾驶辅助系统环绕 第十代索纳塔新手女司机的福音...
  9. CMD中可执行的结束进程命令
  10. 公司年会要求搞一个抽奖程序,及时安排一波
  11. css 加粗或斜体hover鼠标划过,导致异常闪动,整体宽度增加的解决办法
  12. 如何录制计算机上的音乐,电脑上听歌曲,怎么把它录下来呢
  13. 电路中VCC等符号的含义零欧姆电阻作用
  14. 如何恢复被删短信_手机短信删除了怎么恢复?超级简单的两种方法
  15. OpenCV动作识别
  16. cpu占用突然到百分百又降下去_cpu使用率忽高忽低
  17. ue4 小知识点 图片变灰 hlsl 材质 custom shader
  18. 解决:word文档中插入照片有一部分不显示
  19. 【Android SDM660源码分析】- 02 - UEFI XBL QcomChargerApp充电流程代码分析
  20. 足球数据API接口 - 【球员资料】API调用示例代码

热门文章

  1. DX使用随笔--NavBarControl
  2. Centos下tmux工具使用方法
  3. 构建之法阅读笔记(二)
  4. iOS: 目前天气API 整理
  5. 合伙人和创始人的区别
  6. [轉]javascript 的 location 各種用法
  7. [Color]彩色转灰度算法彻底学习
  8. 材价看板(1)- 如何建立你的第一个kanban,看看这些暴露的问题你们有没有?...
  9. 浏览器的工作原理整理
  10. 你和文字,陪我行走岁月