zoukankan      html  css  js  c++  java
  • 《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()默认分隔符是空格 ' '
    如果没有分隔符,就把整个字符串作为列表的一个元素***/
  • 相关阅读:
    敏捷冲刺二
    敏捷冲刺一
    软工网络15-Alpha阶段敏捷冲刺
    Scrum 冲刺博客
    软工网络15团队作业3——需求分析与设计
    软工网络15团队作业2——团队计划
    软件网络15团队作业1
    【Alpha阶段】第一次Scrum Meeting
    Scrum 冲刺博客集合
    第 1 篇 Scrum 冲刺博客
  • 原文地址:https://www.cnblogs.com/Real-Ying/p/4634394.html
Copyright © 2011-2022 走看看