zoukankan      html  css  js  c++  java
  • python廖雪峰教程 学习笔记

    如何用字符来描述字符:

    d匹配数字   digit

    w匹配字母或数字  word

    s可以匹配空格 space

    * 表示任意个字符, +表示至少一个字符  ?表示0个或1个字符, {n} 表示n个字符, {n,m}表示n-m个字符 .可以匹配任意字符 

    例如: Kongxiangyu

    w{11}

    如何做到更精确的匹配? 规定数字、字母或者下划线 

    [0-9a-zA-Z\_]可以匹配一个数字、字母或下划线

    [a-zA-Z\_]

    ^ 表示行的开头

    $ 表示行的结束

    re模块 

    python的 r前缀,可以不考虑转义的

    分组

    联系excel表格中的通配符的使用

    字符串 d{3}-{3-8}   010-21321 

    更精确的匹配: [ ]表示范围  

     python高级特性:

    切片

    “之所以是笨办法是因为扩展一下,取前N个元素就没辙了。” 【抽象代表更加聪明的做法,普遍性】

    “对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。” 【Slice的本质是循环+提取】

    迭代:

    iteration (遍历/迭代) 

    for  in 语句,直接作用于整个iterable subject 包括 string dict list

    实现下标循环:

    for i, value in enumerate(['a', 'b', 'c'])
        print (i, value)

    for x, y in [(1,1), (2, 4), (3, 9)]:
      print(x, y)

     

    列表生成器:

    list(range(1,4)
    
    L = [] 
    for x in range(1, 11):
        L.append(x * x)  #循环 逐个添加
    
    [x * x for x in range(1, 11) if x%2 == 0] #函数 + 循环 + 条件语句
    

      dict.value()  dict.items() 返回key值和 value值

    生成器(generator):python中一边循环一遍计算的机制

    方法1: 将列表生成器的 [ ] 改为()  同时区分
    print 用来打印 和 next() 获得generator的下一个返回值
     
    “我们讲过,generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。”【生成器保存的是算法,将其看做一个动态的过程而不能直接认为是生成好的list元素】
  • 相关阅读:
    string类
    拓扑排序 图
    麦森数,高精度快速幂
    排列
    牛客练习赛28 B 数据结构
    牛客练习赛27 C-水图
    组合数
    树状数组
    k短路模板+例题
    Supreme Number(找规律,打表)
  • 原文地址:https://www.cnblogs.com/kong-xy/p/6532679.html
Copyright © 2011-2022 走看看