• 《python核心编程》读书笔记——列表解析


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

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

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

    1 sqdEvens = [x**2 for x in range(8) if not x % 2 ]
    2 
    3 for i in sqdEvens:
    4         print i
    5 
    6 0
    7 4
    8 16
    9 36

    例子

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

    • 迭代一个3行5列的矩阵
    1 [(x+1,y+1) for x in range(3) for y in range (5)]
    2 
    3 
    4 
    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)
    6 (3,3),(3,4),(3,5)]
    • 磁盘文件样例
    1 计算数据文件hhga.txt的单词个数(非空白字符的个数)
    2 
    3 f= open('hhga.txt', 'r')
    4 print len([word for line in f for word in line.split()])

    上面这段代码等于

    1 f = open('hhga.txt', 'r')
    2 temp = []
    3 for line in f:
    4     for word in line.split():
    5         temp.append(word)
    6 print len(temp)

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

    1 import os
    2 an = os. stat('hhga.txt').st_size    #计算总字符数量
    3 f.seek(0)                                      #回到文件开头
    4 cn = sum([len(word) for line in f for word in line.split()])     #字符数量
    5 bn = an - cn
    6                                             
    /****字符串的split()默认分隔符是空格 ' '
    如果没有分隔符,就把整个字符串作为列表的一个元素***/
  • 相关阅读:
    在C#中如何使用资源的方法
    C#调用windows API的一些方法
    Uml学习-类图简介
    Uml学习-用例建模简介
    sqlserver中DATE类型的数据转化 CONVERT
    mysql database和schema区别
    nginx buffer
    django pk 和id用法
    sed正则
    kong 插件开发分析
  • 原文地址:https://www.cnblogs.com/Real-Ying/p/4634394.html
Copyright © 2020-2023  润新知