生活随笔
收集整理的這篇文章主要介紹了
《Python Cookbook 3rd》笔记汇总
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、數據結構
- 二、字符串和文本
- 三、數字、日期和時間
- 四、迭代器與生成器
- 五、文件與IO
一、數據結構
標題關鍵詞
| 1.1:拆分序列后賦值給多個變量 | 可迭代對象、拆分賦值 |
| 1.2:拆分任意長可迭代對象后賦值給多個變量 | 可迭代對象、拆分賦值、星號表達式 |
| 1.3:保留最近N個元素 | collections.deque、限容雙端隊列、yield |
| 1.4:查找最大或最小的N個元素 | heapq、堆 |
| 1.5:實現一個優先級隊列 | heapq、堆、元組比較 |
| 1.6:字典中的鍵映射多個值 | 字典、collections.defaultdict |
| 1.7:字典排序 | collections. OrderedDict、雙向鏈表 |
| 1.8:字典運算 | 字典、最小值、最大值、排序、鍵集、值集、鍵值對換、lambda |
| 1.9:查找兩字典的相同點 | set、集合交與差的運算、字典推導式 |
| 1.10:刪除序列相同元素并保持順序 | set、yield、list、lambda |
| 1.11:命名切片 | 魔數、切片、slice()、indices() |
| 1.12:序列中出現次數最多的元素 | collections.Counter、字典 |
| 1.13:通過某個關鍵字排序一個字典列表 | 排序、sorted()、operator.itemgetter、lambda |
| 1.14:排序不支持原生比較的對象 | 排序、sorted()、operator.attrgetter、lambda |
| 1.15:通過某個字段將記錄分組 | 分組、operator.itemgetter、litertools.groupby() |
| 1.16:過濾序列元素 | 列表推導式、生成器表達式、itertools.compress() |
| 1.17:從字典中提取子集 | 字典推導式 |
| 1.18:映射名稱到序列元素 | 下標另名為、collections.namedtuple() |
| 1.19:轉換并同時計算數據 | 聚集函數、sum()、max()、min()、列表推導式、生成器表達式 |
| 1.20:合并多個字典或映射 | 邏輯上的字典、collections.ChainMap |
二、字符串和文本
標題關鍵詞
| 2.1:使用多個界定符分割字符串 | re、split()、正則式、非捕獲分組、生成器表達式、[:]、[::] |
| 2.2:字符串開頭或結尾匹配 | str.startswith()、str.endswith()、列表推導式 |
| 2.3:用Shell通配符匹配字符串 | fnmatch.fnmatch()、fnmatch.fnmatchcase()、列表推導式 |
| 2.4:字符串匹配和搜索 | re、正則式、compile()、match()、findall()、group() |
| 2.5: 字符串搜索和替換 | re、正則式、compile()、sub()、str.repalce() |
| 2.6:字符串忽略大小寫的搜索替換 | re、正則式、re.IGNORECASE |
| 2.7:最短匹配模式 | re、正則式、非貪婪模式 |
| 2.8:多行匹配模式 | re、正則式、非捕獲組、re.DOTALL |
| 2.9:將Unicode文本標準化 | unicodedata.normalize() |
| 2.10:在正則式中使用 Unicode | re、正則式、Unicode |
| 2.11:刪除字符串中不需要的字符 | str.strip()、str.lstrip()、str.rstrip() |
| 2.12:審查清理文本字符串 | str.translate()、str.replace() |
| 2.13:字符串對齊 | str.ljust() 、str.rjust()、str.center()、format()、% |
| 2.14:合并拼接字符串 | +、str.join()、format()、yield |
| 2.15:字符串中插入變量 | str.format()、str.format_map() |
| 2.16:以指定列寬格式化字符串 | textwrap.fill() |
| 2.17:在字符串中處理html和xml | html.escape()、html.parser、xml.sax.saxutils |
| 2.18:字符串令牌解析 | re、正則式、編譯原理 |
| 2.19:實現一個簡單的遞歸下降分析器 | re、正則式、編譯原理 |
| 2.20:字節字符串上的字符串操作 | 字節字符串 |
三、數字、日期和時間
標題關鍵詞
| 3.1:數字的四舍五入 | round()、format() |
| 3.2:執行精確的浮點數運算 | Decimal |
| 3.3:數字的格式化輸出 | format() |
| 3.4:二、八、十六進制整數 | bin()、oct()、hex()、format() |
| 3.5:字節到大整數的打包與解包 | int.from_bytes()、int.to_bytes() |
| 3.6:復數的數學運算 | complex()、cmath、numpy |
| 3.7:無窮大與 NaN | float()、man.isinf()、math.isnan() |
| 3.8:分數運算 | Fraction |
| 3.9:大型數組運算 | numpy |
| 3.10:矩陣與線性代數運算 | numpy |
| 3.11:隨機選擇 | random |
| 3.12:基本的日期與時間轉換 | datetime、timedelta |
| 3.13:計算最后一個周五的日期 | datetime、timedelta |
| 3.14:計算當前月份的日期范圍 | datetime、timedelta、date、calendar |
| 3.15:字符串轉換為日期 | datetime |
| 3.16:結合時區的日期操作 | datetime、pytz |
四、迭代器與生成器
標題關鍵詞
| 4.1:手動遍歷迭代器 | next()、iter() |
| 4.2:代理迭代 | __iter__() |
| 4.3:使用生成器創建新的迭代模式 | frange()、range()、next() |
| 4.4:實現迭代器協議 | yield、yield from |
| 4.5:反向迭代 | reversed() |
| 4.6:帶有外部狀態的生成器函數 | __iter__() |
| 4.7:迭代器切片 | itertools.islice() |
| 4.8:跳過可迭代對象的開始部分 | itertools.dropwhile()、islice() |
| 4.9:排列組合的迭代 | itertools.permutations()排列、itertools.combinations()組合 |
| 4.10:序列上索引值迭代 | enumerate()枚舉 |
| 4.11:同時迭代多個序列 | zip() |
| 4.12:不同集合上元素的迭代 | itertools.chain() |
| 4.13:創建數據處理管道 | yield、yield from、itertools.chain() |
| 4.14:展開嵌套的序列 | isinstance()、yield from |
| 4.15:順序迭代合并后的排序迭代對象 | heapq.merge() |
| 4.16:迭代器代替 while 無限循環 | iter()、lambda |
五、文件與IO
標題關鍵詞
| 5.1:讀寫文本數據 | open(), with…as…, encoding= |
| 5.2:打印輸出至文件中 | print(’’, file=f) |
| 5.3:使用其他分隔符或行終止符打印 | print(’’, ‘’, ‘’, sep=’’, end=’’), str.join((’’,)) |
| 5.4:讀寫字節數據 | open(), rb, wb |
| 5.5:文件不存在才能寫入 | open(), xt, xb, os.path.exists() |
| 5.6:字符串的 I/O 操作 | io.StringIO(), io.BytesIO() |
| 5.7:讀寫壓縮文件 | gzip, bz |
| 5.8:固定大小記錄的文件迭代 | iter(), functools.partial() |
| 5.9:讀取二進制數據到可變緩沖區中 | bytearray(), file.readinto |
| 5.10:內存映射的二進制文件 | mmap |
| 5.11:文件路徑名的操作 | os.path |
| 5.12:測試文件是否存在 | os.path |
| 5.13:讀寫壓縮文件 | os.listdir(), glob |
| 5.14:忽略文件名編碼 | sys.getfilesystemencoding() |
| 5.15:打印不合法的文件名 | UnicodeEncodeError |
| 5.16:增加或改變已打開文件的編碼 | io.TextIOWrapper() |
| 5.17:將字節寫入文本文件 | sys.stdout.buffer.write(b’’) |
| 5.18:將文件描述符包裝成文件對象 | os.open(), open() |
| 5.19:創建臨時文件和文件夾 | tempfile.TemporaryFile, tempfile.NamedTemporaryFile, tempfile.TemporaryDirectory() |
| 5.20:與串行端口的數據通信 | serial.Serial() |
| 5.21:序列化 Python 對象 | pickle.dump(), pickle.load() |
待續
總結
以上是生活随笔為你收集整理的《Python Cookbook 3rd》笔记汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。