《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:在正則式中使用 Unicodere、正則式、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和xmlhtml.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:無窮大與 NaNfloat()、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()

待續

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445835.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445835.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445835.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql hp ux_hp ux apa 切換

(HP-UX Only) OR - 1 heartbeat network using APA with 2 trunk members (HP-UX Only) OR - 1 heartbeat network with serial line (HP-UX Only) OR......一、 概述 HP 的 APA 軟件提供兩種網卡冗余切換模式,用以實現網絡高可用性...0x000000000000 hp_apa HP-UX 11i v3 Prer…

Python中[:]與[::]的用法

Python中[:]與[::]的用法 概述 [:]與[::]語法是通用序列操作(Common Sequence Operations)其中的兩個。用[:]或[::]對多數序列類型(可變的或不可變的)(如字符串、列表等)序列中元素進行截取。 [:]的用法…

mysql redis 中間件_Docker快速搭建Mysql社區版,Redis,MongoDb、MQ等等中間件。

一:安裝docker社區版。Centos系列(最好用7以上的版本,docker需要3.1以上的linux內核版本)sudo yum install docker-ce docker-ce-cli containerd.iosudo systemctl start dockersudo docker run hello-world如果你敲docker info需要root密碼,…

JavaScript中String的slice(),substr(),substring()三者區別

JavaScript中String的slice(),substr(),substring()三者區別 共同之處 從給定的字符串中截取片段,并返回全新的這片段的字符串對象,且不會改動原字符串。 具體不同之處 slice() str.slice(beginIndex[, endIndex])參數描述be…

pythontuple數據類型_數據類型-元組Tuple

Python Tuple用于存儲不可變python對象的序列。元組類似于列表,因為可以改變列表中存儲的項的值,而元組是不可變的,并且不能改變存儲在元組中的項的值。元組可以寫成用小括號括起來的逗號分隔值的集合。元組可以定義如下。T1 (101, "Ay…

《劍指Offer》24:反轉鏈表

題目 定義一個函數,輸入一個鏈表的頭節點,反轉鏈表并輸出反轉后鏈表的頭節點。鏈表節點定義如下: public static class ListNode{public int val;public ListNode next;public ListNode(int val) {this.val val;} }分析 方法一&#xff1…

python兩個for循環為什么第二個循環里值不變_兩個for循環,第二個只在第一個迭代python上執行...

我是一個pythonnoob,我試圖比較兩個文件中的行之間的值,如果行在第二個文件中,則輸出“line name”,然后輸出1;如果第二個文件中缺少該行,則輸出0。第一次迭代返回1,因為該行在第二個文件中&…

python如何問問題_學會正確的提問

可能很多讀者看到這個標題會感覺很可笑,提問誰不會啊,互聯網時代,提問還不是一句話的事情?個人、技術群、論壇里都可以提問啊,「你好」「在嗎?」「有人用過 xx 工具嗎?」。首先,提問…

如何保證接口的冪等性

如何保證接口的冪等性 什么是冪等性 冪等性是系統服務對外一種承諾,承諾只要調用接口成功,外部多次調用對系統的影響是一致的。聲明為冪等的服務會認為外部調用失敗是常態,并且失敗之后必然會有重試。 通俗地說,接口冪等性就是…

mysql二進制方式_MySQL數據庫之MySql二進制連接方式詳解

本文主要向大家介紹了MySQL數據庫之MySql二進制連接方式詳解 ,通過具體的內容向大家展現,希望對大家學習MySQL數據庫有所幫助。使用mysql二進制方式連接您可以使用MySQL二進制方式進入到mysql命令提示符下來連接MySQL數據庫。實例以下是從命令行中連接my…

xposed模塊編寫教程_太極xposed模塊使用教程

今天給大家分享一下太極xposed模塊使用教程。很多小伙伴說下載不到Xposed模塊,這個網上其實很多,但是第三方的下載站就算了吧。我也是一個深受其害的網癮少年,只要是下載站的軟件,一不留心一次性電腦可能會多安裝好多個軟件&#…

如何使用mysql添加更新_Mysql 存在既更新,不存在就添加(sql語句)

討人喜歡的 MySQL replace into 用法(insert into 的增強版)在向表中插入數據的時候,經常遇到這樣的情況:1. 首先判斷數據是否存在; 2. 如果不存在,則插入;3.如果存在,則更新。在 SQL Server 中可以這樣處理…

linux + nginx + mysql + php 百度網盤_5.LNMP(Linux + Nginx + MySQL + PHP)環境安裝

1.安裝Nginx:yum install yum-priorities -ywget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmrpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpmyum -y install nginxsystemctl start nginx.servicesystemctl stop ngin…

LeetCode - Easy - 28. Implement strStr()

Topic Two Pointers, String Description https://leetcode.com/problems/implement-strstr/ Implement strStr(). Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. needle /?ni?dl/ n.針 haystack /?he?…

mysql item_MySQL源代碼:關于MySQL的Item對象

前篇介紹了MySQL如何從SQL語句轉換成一個內部對象。本文是前篇的延續,將更加詳細的介紹WHERE語句對應的Item對象。1. Item對象MySQL InternalMySQL Internals Manual較為詳細的介紹了Item對象。Item對象經常被稱作"thingamabob"(A thingamabob is a noun …

python的發展趨勢圖_用Python繪制趨勢圖

我在數據幀中有以下數據:-------------------------------------------------------| Physician Profile Id | Program Year | Value Of Interest |-------------------------------------------------------| 1004777 | 2013 | 83434288.00 || 1004777 | 2014 | 89…

mysql的實現類注解_Mybaits (XML方式:無需在寫Dao的實現類 注解方式:Dao的實現類與Mapper都可以不寫 重點理解)...

Maven的pom.xml 坐標配置4.0.0Mybatis_mavenday01_mbatis1.0-SNAPSHOTjarorg.mybatismybatis3.4.5mysqlmysql-connector-java5.1.45junitjunit4.12testorg.apache.maven.pluginsmaven-compiler-plugin2.3.21.81.8UTF-8mybatis的配置文件/p>PUBLIC "-//mybatis.org//DTD…

SQL字符串中單引號與換行符的轉義

問題 打算將文本文件內容添加至MySQL數據庫,則需要對文本中的單引號和換行符進行轉義,否則無法編寫合法的SQL。 解法 迭代文本文件的行時,將原行尾的換行符剔除掉,并拼接\\n;迭代文本文件的行時,將原行中的替換成。…

mysql 建庫字段_MySQL 的字段類型以及建庫策略

一、數字類型所謂的“數字類”,就是指 DECIMAL 和NUMERIC,它們是同一種類型。它嚴格的說不是一種數字類型,因為他們實際上是將數字以字符串形式保存的;他的值的每一位(包括小數點)占一個字節的存儲空間,因此這種類型耗…

mysql中建立text_mysql中text

一,char類型char列的長度固定為創建表時聲明的長度。長度可以為從0到255的任何值。當保存char值時,在它們的右邊填充空格以達到指定的長度。當檢索到char值時,尾部的空格被刪除掉。在存儲或檢索過程中不進行大小寫轉換。二,varcha…