列表解析是列表类型的方法,这种方法结合了列表的方括弧、for循环、if语句。

  1. 用for把处理后的值放入列表:
 squared = [ x**2 for x in range(4) ]
for i in squared:
print i 0
1
4
9
 [ i*2 for i in [8,-2,5] ]

 [16,-4,10]

2. 挑选符合要求的值放入列表

 sqdEvens = [x**2 for x in range(8) if not x % 2 ]

 for i in sqdEvens:
print i 0
4
16
36

例子

支持多重嵌套for循环以及多个if句子

  • 迭代一个3行5列的矩阵
 [(x+1,y+1) for x in range(3) for y in range (5)]

 [(1,1),(1,2),(1,3),(1,4),(1,5),(2,1),(2,2),(2,3),(2,4)(2,5),(3,1),(3,2)
(3,3),(3,4),(3,5)]
  • 磁盘文件样例
 计算数据文件hhga.txt的单词个数(非空白字符的个数)

 f= open('hhga.txt', 'r')
print len([word for line in f for word in line.split()])

上面这段代码等于

 f = open('hhga.txt', 'r')
temp = []
for line in f:
for word in line.split():
temp.append(word)
print len(temp)

接着进行计算字符和空白符的数量的程序,先用seek(0)回到开头

 import os
an = os. stat('hhga.txt').st_size #计算总字符数量
f.seek(0) #回到文件开头
cn = sum([len(word) for line in f for word in line.split()]) #字符数量
bn = an - cn
/****字符串的split()默认分隔符是空格 ' '
如果没有分隔符,就把整个字符串作为列表的一个元素***/

《python核心编程》读书笔记——列表解析的更多相关文章

  1. python高级编程读书笔记(一)

    python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...

  2. C++Windows核心编程读书笔记

    转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/71405.shtml "C++Windows核心编程读书笔 ...

  3. Python核心编程--学习笔记--6--序列(下)列表、元组

    11 列表 类似于C语言的数组,但是列表可以包含不同类型的任意对象.列表是可变类型. 创建列表——手动赋值.工厂函数: >>> aList = [12, 'abc'] >> ...

  4. pthon核心编程-读书笔记:知识点摘录与总结(方便理解和快速记忆)

    Python 中的列表(大小可变的数组)和字典(哈希表)就是内建于语言本身的.在核心语言中提供这些重要的构建单元,可以鼓励人们使用它们, 缩短开发时间与代码量,产生出可读性更好的代码.C不提供, c+ ...

  5. Python核心编程--学习笔记--3--Python基础

    本章介绍基本的Python语法.编程风格:并简要介绍标识符.变量和关键字,以及变量占用内存的分配和回收:最后给出一个较大的Python样例程序来体验这些特性. 1 语句和语法 1.1 注释 可以在一行 ...

  6. 《Python核心编程》笔记

    1 python是大小写敏感的 2 遍历一个字典的键值: for a in dict_obj.keys(): print a 3 列表解析功能可以让代码很简洁,比如:squared = [x ** 2 ...

  7. 《python核心编程》笔记——文件的创建、读取和显示

    创建文件(makeTextFile.py)脚本提醒用户输入一个尚不存在的文件名,然后由用户输入文件每一行,最后将所有文本写入文本文件 #!/usr/bin/env python 'makeTextFi ...

  8. Python核心编程--学习笔记--8--条件与循环

    本章讲述if.while.for以及与他们搭配的else.elif.break.continue.pass等语句. 1 if语句 语法:三部分——关键字if.条件表达式.代码块.(记住冒号) if c ...

  9. Python核心编程--学习笔记--2--Python起步(上)

    本章是对Python的主要特性做一个快速介绍. 1 介绍 交互执行时,解释器有两种提示符: 主提示符(>>>):解释器在等待输入下一个语句: 次提示符(...):解释器在等待输入当前 ...

随机推荐

  1. Camstar Portal modeling user guid --WorkCenter workCell workStation的关系

    业务需求:如何让用户登陆时选择  生产线(如:SMT生产线) Operation(如:维修员)  工作单元(如:印刷段) 工作站(如:上板) 关系图: 从上图可以看出: workCell是Resour ...

  2. auth用户认证库

    关于auth库,建议如下:1. ion_auth,基于Redux重写而成,非常不错的认证库,国外用的很多,几个最新的ci2.0.2基础上的开源系统(如doveforum)都用它,支持ci 2.0和以上 ...

  3. NFS实践练习

    实践要求: (CentOS 7)两台主机A/B,其中A主机搭建LAMP环境,B主机当做NFS服务器存放Mariadb的数据,并部署Discuz做测试,实现数据库可用. A主机:httpd2.4 php ...

  4. 无cookie下载Oracle otn上的sun jdk等软件

    从Oracle下载sun jdk提示:In order to download products from Oracle Technology Network you must agree to th ...

  5. 转:C# WinForm获取 当前执行程序路径的几种方法

    1.获取和设置当前目录的完全限定路径. string str = System.Environment.CurrentDirectory; Result: C:xxxxxx 2.获取启动了应用程序的可 ...

  6. JSP中文乱码问题

    参考此URL http://blog.csdn.net/beijiguangyong/article/details/7414247 eclipse 设置:

  7. kendoui treeview grid spreadsheet

    treeview 傻子方式获取id <!DOCTYPE html> <html> <head> <title>API</title> < ...

  8. Computer Vision 学习 -- 图像存储格式

    本文把自己理解的图像存储格式总结一下. 计算机中的数据,都是二进制的,所以图片也不例外. 这是opencv文档的描述,具体在代码里面,使用矩阵来进行存储. 类似下图是(BGR格式): 图片的最小单位是 ...

  9. nexus 搭建maven本地仓库

    使用Nexus搭建Maven本地仓库   阅读目录 序 Nexus 序 在工作中可能存在有些开发机器不能上网,大量的机器获取jar包会导致公司网络很慢,还有时候公司会自己发布自己的项目版本,其他的项目 ...

  10. Http协议的常见参数

    Requests部分 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字 ...