推导式创建序列

推导式是从一个或者多个迭代器快速创建序列的一种方法。它可以将循环和条件判断结合,从而避免冗长的代码。推导式是典型的Python 风格。

列表推导式

列表推导式生成列表对象,语法如下:
           [表达式for item in 可迭代对象]
或者:{表达式for item in 可迭代对象if 条件判断}

>>> [x for x in range(1,5)]
[1, 2, 3, 4]
>>> [x*2 for x in range(1,5)]
[2, 4, 6, 8]
>>> [x*2 for x in range(1,20) if x%5==0 ]
[10, 20, 30]
>>> [a for a in "abcdefg"]
['a', 'b', 'c', 'd', 'e', 'f', 'g']

还可以使用两个循环

>>> cells =[(row,col) for row in range(1,10) for col in range(1,10)]
>>> for cell in cells:print(cell)(1, 1)
(1, 2)
(1, 3)
(1, 4)
(1, 5)
(1, 6)
(1, 7)
(1, 8)
(1, 9)
(2, 1)
(2, 2)
(2, 3)
(2, 4)
(2, 5)
(2, 6)
(2, 7)
(2, 8)
(2, 9)
(3, 1)
(3, 2)
(3, 3)
(3, 4)
(3, 5)
(3, 6)
(3, 7)
(3, 8)
(3, 9)
(4, 1)
(4, 2)
(4, 3)
(4, 4)
(4, 5)
(4, 6)
(4, 7)
(4, 8)
(4, 9)
(5, 1)
(5, 2)
(5, 3)
(5, 4)
(5, 5)
(5, 6)
(5, 7)
(5, 8)
(5, 9)
(6, 1)
(6, 2)
(6, 3)
(6, 4)
(6, 5)
(6, 6)
(6, 7)
(6, 8)
(6, 9)
(7, 1)
(7, 2)
(7, 3)
(7, 4)
(7, 5)
(7, 6)
(7, 7)
(7, 8)
(7, 9)
(8, 1)
(8, 2)
(8, 3)
(8, 4)
(8, 5)
(8, 6)
(8, 7)
(8, 8)
(8, 9)
(9, 1)
(9, 2)
(9, 3)
(9, 4)
(9, 5)
(9, 6)
(9, 7)
(9, 8)
(9, 9)
>>>

字典推导式

字典的推导式生成字典对象,格式如下:
{key_expression : value_expression for 表达式in 可迭代对象}
类似于列表推导式,字典推导也可以增加if 条件判断、多个for 循环。

统计文本中字符出现的次数:

>>> my_text = ' i love you, i love sxt, i love gaoqi'
>>> char_count = {c:my_text.count(c) for c in my_text}
>>> char_count
{' ': 9, 'i': 4, 'l': 3, 'o': 5, 'v': 3, 'e': 3, 'y': 1, 'u': 1, ',': 2, 's': 1, 'x': 1, 't': 1, 'g': 1, 'a': 1, 'q': 1}

集合推导式

集合推导式生成集合,和列表推导式的语法格式类似:
           {表达式for item in 可迭代对象}
或者:{表达式for item in 可迭代对象if 条件判断}

>>> {x for x in range(1,100) if x%9==0}
{99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}

Python中使用推导式创建序列相关推荐

  1. Python中的推导式

    推导式 Compression 推导式 ( Compression )是Python语言的一大特色 相比于其他语言而言, 推导式使得Python能够编辑的进行循环,创建出特定的字典,列表等可迭代对象 ...

  2. Python中列表推导式同filter和map的比较

    symbols = "symbols" beyond_ascii = [ord(s) for s in symbols if ord(s) > 100]beyond_asci ...

  3. python中字典推导式

    目录 一.字典推导式: 二.语法: 1.语法一: 2.语法二: 三.字典推导式实战: 1.在字典中提取或者修改数据,返回新的字典: 2.在字符串中提取数据,返回新的字典: 3.将字符串 "k ...

  4. python用列表推导式_python如何使用列表推导式

    python使用列表推导式的方法:1.用于使用其他列表创建一个新列表:2.可以对原列表进行变换和筛选:3.对多重嵌套的list进行变换筛选. python使用列表推导式的方法: python中列表推导 ...

  5. python中的序列类型数据结构元素的切片操作_浅析python中的分片与截断序列

    浅析python中的分片与截断序列 序列概念 在分片规则里list.tuple.str(字符串)都可以称为序列,都可以按规则进行切片操作 切片操作 注意切片的下标0代表顺序的第一个元素,-1代表倒序的 ...

  6. python元祖推导式_python推导式深入讲解

    python推导式是非常简洁高效的数据整合手段,功能强大且运行效率极高.本文将带你深入了解并掌握推导式,并将告诉你什么时候该用推导式什么时候不该用推导式. 一.推导式语法 变量名 = [ 表达式 fo ...

  7. python的各种推导式(列表推导式、字典推导式、集合推导式)

    python的各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体 ...

  8. Python:列表推导式、生成器、迭代器

    1. 列表推导式 列表推导式是通过旧的列表通过公式推导出新的列表 还有集合推导式.字典推导式,与列表推导式类似 格式为: [表达式 for 变量 in 旧列表] [表达式 for 变量 in 旧列表 ...

  9. python的各种推导式

    python的各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体 ...

最新文章

  1. k中心点聚类算法伪代码_聚类算法之——K-Means、Canopy、Mini Batch K-Means
  2. android camera 3a,买相机送手机 pixel 3a 上手体验
  3. 安装python3 及virtual与virtualenvwrapper
  4. 3d正方体旋转相册代码_3d旋转正方体的多种html和css制作方法和相关知识复习讲解
  5. 拓端tecdat|爬取微博用户行为数据语义分析数据挖掘报告
  6. 二进制文件vscode_最强编辑器 VSCode 系列之插件推荐【不定期更新】
  7. 利用imnoise2函数产生数据的直方图
  8. 穿越计算机的迷雾--读书笔记三
  9. 一个INT 10H中断的小例子
  10. 【VBA】Excel 密码管理器
  11. matlab2016 wavread,DSP MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住 频率和 点数; 2 238万源代码下载- www.pudn.com...
  12. 机器学习实战——2.3 示例:手写识别系统
  13. proteus中示波器的各刻度的含义
  14. 【ArnoldC4D】6.ArnoldToC4D_光泽和反射光线深度(glossy_and_reflection)
  15. [深度学习] PyTorch 实现双向LSTM 情感分析
  16. 【Pycharm教程】了解 PyCharm Python 控制台
  17. C语言程序设计课程设计(服装销售管理系统)
  18. 面向对象的特点?对象模型、动态模型和功能模型3种模型之间的关系?
  19. 使用命令查看数据库SQLite以及数据库SQLite无法获取root权限
  20. 解决Windows11无法开启虚拟机,报错vcpu-1问题

热门文章

  1. vmware6.5.2序列号_备战秋招——计算机网络(2)
  2. 蜘蛛纸牌java注释_自己摸索的纸牌游戏代码,感觉还有很多知识不懂,任重道远啊!...
  3. 怎么通过name配置button_利器 | AppCrawler 自动遍历测试实践(二):定制化配置
  4. iptables 防火墙
  5. java调用子系统代码_深入理解JAVA虚拟机-Idea远程执行本地Java代码 - Java 技术驿站-Java 技术驿站...
  6. php语言使用statsd统计指标模板
  7. 最小的linux内核编译,Linux最小内核移植
  8. 字节流转化为文件流_JAVA IO分析一:File类、字节流、字符流、字节字符转换流...
  9. java condition_死磕Java并发:J.U.C之Condition
  10. np.reshape带给我的内存错误