Python列表推导式的使用方法


Posted in Python onNovember 21, 2013

1.列表推导式书写形式:

[表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件]

2.举例说明:

#!/usr/bin/python
# -*- coding: utf-8 -*-
li = [1,2,3,4,5,6,7,8,9]
print [x**2 for x in li]
print [x**2 for x in li if x>5]
print dict([(x,x*10) for x in li])

print  [ (x, y) for x in range(10) if x % 2 if x > 3 for y in range(10) if y > 7 if y != 8 ]
vec=[2,4,6]
vec2=[4,3,-9]
sq = [vec[i]+vec2[i] for i in range(len(vec))]
print sq
print [x*y for x in [1,2,3] for y in  [1,2,3]]
testList = [1,2,3,4]
def mul2(x):
    return x*2
print [mul2(i) for i in testList]

结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81]
[36, 49, 64, 81]
{1: 10, 2: 20, 3: 30, 4: 40, 5: 50, 6: 60, 7: 70, 8: 80, 9: 90}
[(5, 9), (7, 9), (9, 9)]
[6, 7, -3]
[1, 2, 3, 2, 4, 6, 3, 6, 9]
[2, 4, 6, 8]

3.总结:
我觉得就是通过for 语句处理表达式里面的变量,如果还要加条件,就加if条件就可以了。

Python 相关文章推荐
Python编程之多态用法实例详解
May 19 Python
python3利用Dlib19.7实现人脸68个特征点标定
Feb 26 Python
对python中执行DOS命令的3种方法总结
May 12 Python
Python爬虫PyQuery库基本用法入门教程
Aug 04 Python
详解Python循环作用域与闭包
Mar 21 Python
python集合是否可变总结
Jun 20 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
python深copy和浅copy区别对比解析
Dec 26 Python
在python下实现word2vec词向量训练与加载实例
Jun 09 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
Python 线程池模块之多线程操作代码
May 20 Python
python调用shell的方法
Nov 20 #Python
python和shell变量互相传递的几种方法
Nov 20 #Python
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 #Python
python从ftp下载数据保存实例
Nov 20 #Python
python正则表达式抓取成语网站
Nov 20 #Python
python爬取网站数据保存使用的方法
Nov 20 #Python
使用python搭建Django应用程序步骤及版本冲突问题解决
Nov 19 #Python
You might like
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Js callBack 返回前一页的js方法
2008/11/30 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
python实现简单神经网络算法
2018/03/10 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
Python操作json的方法实例分析
2018/12/06 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
工程专业应届生求职信
2014/02/19 职场文书
人事文员岗位职责
2015/02/04 职场文书
教师个人培训总结
2015/02/11 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
python 多态 协议 鸭子类型详解
2021/11/27 Python
Win11怎么解除儿童账号限制?Win11解除微软儿童账号限制方法
2022/07/07 数码科技