Python 的列表推导式

原创 2017年08月12日 05:50:48

Python 的列表推导式、字典推导式

列表推导式

列表解析是用一行代码实现根据一个列表生成另一个列表的写法。

基本写法

要实现从一个列表中获取满足条件的某些元素组成新的列表:

[x for x in [1,2,3,4] if x % 2 == 0]

这行代码输出是 [2, 4]。如果没有 if 的话就是直接复制整个列表。

其他用法

修改新列表的元素:

[x/2 for x in [1,2,3,4]]

将单个元素的列表重复此元素,扩展为指定长度的列表:

[x for i in range(100)]

提取嵌套列表中元素的第一项:

[x[0] for x in [[1,2], [3,4], [5,6]]]

嵌套循环的写法:

[n for row in [[1,2], [3,4], [5,6]] for n in row]

生成嵌套列表:

[(x,x+10) for x in [1,2]

多个参数:
[(x,y) for x,y in {1:2, 4:5}.items() if x % 2 == 0]

与条件表达式结合:
[x if x % 3 == 0 else 1 for x in range(10)]

[(x,y) if x % 2 == 0 else (y, 3) for x,y in {1:2, 4:5}.items() ]

字典推导式

与列表推导式类似,字典也有相应的推导式写法。

基本写法

{x:y for y,x in {'1':'2', '3':'4'}.items() if '1' in y}

参考资料:

《轻松学会Python列表解析式》
《字典推导式》

版权声明:本文为博主原创文章,未经博主允许不得转载。

之前转载过一个轻量级Python服务器的代码

之前转载过一篇python搭建轻量级服务器的代码:http://blog.csdn.net/qtlyx/article/details/53085985 但是很显然,我们要改装一下才能用啊,笔者毕设...
  • qtlyx
  • qtlyx
  • 2016年12月28日 14:56
  • 2

LINK : fatal erro…

转自http://bbs.csdn.net/topics/390121452 25#终极解决方案: VS2010在经历一些更新后,建立Win32 Console Project时会出“error LN...
  • qtlyx
  • qtlyx
  • 2015年11月08日 15:09
  • 230

『Python』序列学习总结之五 ——列表推导式的一些应用

最近在工作中为了减少代码的行数而开始使用列表推导式, 结果非常好, 七八行的代码只需要用一行代码就能够写完, 虽然逻辑对于不怎么使用列表推导式的人来说会比较困难, 但是习惯之后也相当容易。 因此强烈推...
  • Sbtgmz
  • Sbtgmz
  • 2016年04月29日 17:54
  • 1292

python之列表推导式

转自:http://blog.chinaunix.net/uid-28631822-id-3488324.html Python语言以简易明了著称,但初次学习Python,却被很多语法搞的昏头涨...

Python的列表推导式学习

列表推导式学习

Python学习之列表推导式

本文和大家分享的主要是python高级编程中列表推导式相关内容,一起来看看吧,希望对大家学习python有所帮助。   1. 一个简单的例子   在Python中,如果我们想修改列表中所有...

python:列表推导式,list comprehension

本文转自:http://blog.chinaunix.net/uid-28631822-id-3488324.html ,里边内容对我这个新手来说太深奥了,转载原因:思考问题方式超级棒!!!等熟悉py...

python 列表推导式

例子1:### 列表推导式#coding=gbk import numpy as np import matplotlib.pyplot as plt import scipy.io as sio #...

Python 列表推导式 一些小的古怪写法 if else for in join

c = a if a>b else b //如果a>b返回a,否则返回b>>> a = 1 >>> b = 2 >>> c = a if a>b else b >>> c 2c = [b,a][...

《零基础入门学习Python》学习过程笔记【012列表的常用函数,逻辑关系,+,*,in,列表推导式】

1列表如何比较大小?(从各个列表的第一个元素开始比起,如果当前两个元素不相等,则不再比较,得出结果;如果相等,还要继续比较下去) >>> a=[1,2,3,4] >>> b=[1,2,3,4] >>>...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python 的列表推导式
举报原因:
原因补充:

(最多只允许输入30个字)