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元素】

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM