语法

  1. 普通
[expression for target in iterable]
  1. 带条件
[expression for target in iterable if condition]
  1. 嵌套
[expression for target1 in iterable1 if condition1for target2 in iterable2 if condition2...for targetN in iterableN if conditionN]

实例

x = [1, 2, 3, 4, 5]
x = [i * 2 for i in x]
print(x)# [2, 4, 6, 8, 10]
y = [i for i in range(10)]
print(y)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 获取矩阵第二列
matrix = [[1, 2, 3],[3, 5, 6],[7, 8, 9]
]
col2 = [row[1] for row in matrix]
print(col2)# [2, 5, 8]
# 获取矩阵主对角线元素
matrix = [[1, 2, 3],[3, 5, 6],[7, 8, 9]
]
diag = [matrix[i][i] for i in range(len(matrix))]
print(diag)diag2 = [matrix[i][len(matrix) - i - 1] for i in range(len(matrix))]
print(diag2)# [1, 5, 9]
# [3, 5, 7]
# 创建内嵌列表
a = [[0] * 3 for i in range(3)]
print(a)
a[1][1] = 5
print(a)# [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
# [[0, 0, 0], [0, 5, 0], [0, 0, 0]]
# 20以内偶数列表
b = [i for i in range(20) if i % 2 == 0]
print(b)# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
# 筛选F开头的单词
words = ['Great', 'FishC', 'Brilliant', 'Excellent', 'Fantistic']
res = [word for word in words if word.startswith('F')]
print(res)# ['FishC', 'Fantistic']
# 展开二维列表
matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]
]
flatten = [col for row in matrix for col in row ]
print(flatten)# [1, 2, 3, 4, 5, 6, 7, 8, 9]

等价于

flatten = []
for row in matrix:for col in row:flatten.append(col)
# 笛卡尔积
fulljoin = [x + y for x in '12345' for y in 'abcde']
print(fulljoin)# ['1a', '1b', '1c', '1d', '1e', '2a', '2b', '2c', '2d', '2e', '3a', '3b', '3c', '3d', '3e', '4a', '4b', '4c', '4d', '4e', '5a', '5b', '5c', '5d', '5e']
ans = [[x, y] for x in range(10) if x % 2 == 0 for y in range(10) if y % 3 == 0]
print(ans)# [[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9], [6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]

Python——列表推导式相关推荐

  1. Python 列表推导式 - Python零基础入门教程

    目录 一.Python 列表推导式简介 二.Python 列表推导式语法 三.Python 列表推导式练习 1.Python 列表推导式案例一 2.Python 列表推导式案例二 3.Python 列 ...

  2. python 列表推导式csv_Python 列表推导式

    在本教程中,我们将学习使用 Python 列表推导. Python 列表推导式 列表推导式是一种基于现有列表创建列表的语法结构. 列表推导式为创建列表提供了一种简洁的方法. 常见的要求是创建新列表,其 ...

  3. 【技能树共建】Python 列表推导式

    Python 列表推导式是什么 列表推导式是 Python 语言特有的一种语法结构,也可以看成是 Python 中一种独特的数据处理方式, 它在 Python 中用于 转换 和 过滤 数据. 其语法格 ...

  4. python列表推导式是什么

    列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表. 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句.那个表达式可以是任意的, ...

  5. python列表推导式中使用if语句及他们的等价形式

    python列表推导式中使用if语句及他们的等价形式 在python的列表推导式中使用if语句有两种形式: # 方式1: 起过滤作用 [expr(x) for x in li if cond(x)] ...

  6. python 列表推导式

    自学python,总结一下,云储存 1,举个普通例子 # 列表推导式置于一对方括号之中[x**2 for x in range(10)] #计算range(10)中每个数的平方,推导出新列表 # 得到 ...

  7. python 列表推导式 - 列表字典取value

    d = [{'phone': '110'}, {'phone': '120'}] d2 = [x['phone'] for x in d] print(d2) 以下来自于参考 值得收藏!16段代码入门 ...

  8. python列表推导式实现从1加到100_python之生成器和列表推导式

    一.生成器函数 1.生成器:就是自己用python代码写的迭代器,生成器的本质就是迭代器(所以自带了__iter__方法和__next__方法,不需要我们去实现). 2.用以下两种方式构建一个生成器: ...

  9. python列表推导式_聊一聊:python的各种推导式(列表推导式、字典推导式、集合推导式)...

    作者:苍松 原文:https://www.cnblogs.com/tkqasn/p/5977653.html 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可 ...

  10. python:列表推导式

    python中有种独特的语法:推导式,可以将代码压缩到1行,但是不使用也不影响. 有三种:列表.字典.集合(注意没有元组推导式) 列表推导式 # 1.一行代码实现1-100之和(知识点:列表推导式) ...

最新文章

  1. WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml
  2. 中信建投云计算机系列报告二,【中信建投 通信】云计算系列报告之二:电信与数通共振,光模块迎高景气(更新)...
  3. 用Log Parser Studio分析IIS日志
  4. Apollo进阶课程㉝丨Apollo ROS原理—2
  5. Android开发周报:Google 推出AR SDK、Android 8.0 Oreo 最终版发布
  6. Oracle 在 Linux 下移动控制文件步骤
  7. 七、MySQL中的字符集 - 系统的撸一遍MySQL
  8. ubuntu系统无法连接识别到adb设备和fastboot设备解决方法
  9. js 处理 cookie的存储与删除
  10. c#Struts框架理念和自制Struts框架下 复杂版(2009-06-10)
  11. 联想计算机处理数据形态,联想 计算机基础知识.ppt
  12. 计算机二级新年来临贺卡步骤,2021新年贺卡怎么做步骤图片
  13. rockbox主题包安装_RockBox 安装使用参考
  14. 任务01-信息编码:纯⽩⾊的bmp图⽚ 用Hex Editor Neo画一个“C
  15. [重磅]秦雯讲大数据:心动.幡动.风动
  16. 【考研经验】2018福州大学考研初试+复试心得
  17. 城市公交出行管理查询系统
  18. NOIP切题注意事项
  19. (openCV 十)ML_SVM
  20. SQLCE数据工具(Flyhoward Ltd SDF Viewer)

热门文章

  1. Honest Coach
  2. Project-1-Buffer-Pool-Manager
  3. 三种不同的interrupt方法区别调用
  4. Windows下手把手教Snort的安装与配置教程
  5. 论文:预测原子距离进行构象预测(VAE)
  6. 开源中国(OSChina)源码解析(1)——源码导入
  7. 产品经理培训课程:产品经理从专业走向管理
  8. 异构计算(Heterogeneous Compute)
  9. 零售巨头家乐福在西班牙推出家禽区块链食物追踪平台
  10. error: macro LIST_HEAD passed 2 arguments, but takes just 1