標籤:AC readline 寫檔案 str 釋放 二進位檔案 作用 code 列印
1. 字典操作
字典一種key - value 的資料類型。
文法:
1 info = {2 ‘car01‘: "Camry",3 ‘car02‘: "Teana",4 ‘car03‘: "Accord",5 }
字典的特性:
增加
>>> info["car04"] = "q50">>> info{‘car01‘: ‘Camry‘, ‘car02‘: ‘Teana‘, ‘car03‘: ‘Accord‘, ‘car04‘: ‘q50‘}
修改
>>> info["car01"] = "凱美瑞">>> info{‘car01‘: ‘凱美瑞‘, ‘car02‘: ‘Teana‘, ‘car03‘: ‘Accord‘, ‘car04‘: ‘q50‘}
刪除
>>> info{‘car01‘: ‘凱美瑞‘, ‘car02‘: ‘Teana‘, ‘car03‘: ‘Accord‘, ‘car04‘: ‘q50‘}>>> info.pop("car01")‘凱美瑞‘>>> info{‘car02‘: ‘Teana‘, ‘car03‘: ‘Accord‘, ‘car04‘: ‘q50‘}
>>> info{‘car02‘: ‘Teana‘, ‘car03‘: ‘Accord‘, ‘car04‘: ‘q50‘}>>> del info["car02"]>>> info{‘car03‘: ‘Accord‘, ‘car04‘: ‘q50‘}
#隨機刪除>>> info{‘car03‘: ‘Accord‘, ‘car04‘: ‘q50‘}>>> info.popitem()(‘car04‘, ‘q50‘)>>> info{‘car03‘: ‘Accord‘}
尋找
>>> info{‘car01‘: ‘Camry‘, ‘car02‘: ‘Teana‘, ‘car03‘: ‘Accord‘}>>> "car01" in infoTrue>>> info.get("car01")‘Camry‘>>> info["car01"]‘Camry‘>>> info["car04"]#不存在key的時候get擷取不報錯顯示空值Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: ‘car04‘>>> info.get("car04")
迴圈
#方法1for key in info: print(key,info[key])#方法2for k,v in info.items(): #會先把dict轉成list,資料裡大時莫用 print(k,v)
2. 集合
集合是一個無序的,不重複的資料群組合,它的主要作用如下:
1、去重,把一個列表變成集合,就自動去重了
2、關係測試,測試兩組資料之前的交集、差集、並集等關係
s = set([3,5,9,10]) #建立一個數值集合 t = set("Hello") #建立一個唯一字元的集合 a = t | s # t 和 s的並集 b = t & s # t 和 s的交集 c = t – s # 求差集(項在t中,但不在s中) d = t ^ s # 對稱差集(項在t或s中,但不會同時出現在二者中) 基本操作: t.add(‘x‘) # 添加一項 s.update([10,37,42]) # 在s中添加多項 使用remove()可以刪除一項: t.remove(‘H‘) len(s) set 的長度 x in s 測試 x 是否是 s 的成員 x not in s 測試 x 是否不是 s 的成員 s.issubset(t) s <= t 測試是否 s 中的每一個元素都在 t 中 s.issuperset(t) s >= t 測試是否 t 中的每一個元素都在 s 中 s.union(t) s | t 返回一個新的 set 包含 s 和 t 中的每一個元素 s.intersection(t) s & t 返回一個新的 set 包含 s 和 t 中的公用元素 s.difference(t) s - t 返回一個新的 set 包含 s 中有但是 t 中沒有的元素 s.symmetric_difference(t) s ^ t 返回一個新的 set 包含 s 和 t 中不重複的元素 s.copy() 返回 set “s”的一個淺複製
3. 檔案操作
對檔案操作流程
1、開啟檔案,得到檔案控制代碼並賦值給一個變數
2、通過控制代碼對檔案進行操作
3、關閉檔案
基本操作
f = open(‘lyrics‘) #開啟檔案first_line = f.readline()print(‘first line:‘,first_line) #讀一行print(‘我是分隔線‘.center(50,‘-‘))data = f.read()# 讀取剩下的所有內容,檔案大時不要用print(data) #列印檔案 f.close() #關閉檔案
開啟檔案的模式有:
- r,唯讀模式(預設)。
- w,唯寫模式。【不可讀;不存在則建立;存在則刪除內容;】
- a,追加模式。【可讀; 不存在則建立;存在則只追加內容;】
"+" 表示可以同時讀寫某個檔案
- r+,可讀寫檔案。【可讀;可寫;可追加】
- w+,寫讀
- a+,同a
"U"表示在讀取時,可以將 \r \n \r\n自動轉換成 \n (與 r 或 r+ 模式同使用)
"b"表示處理二進位檔案(如:FTP發送上傳ISO鏡像檔案,linux可忽略,windows處理二進位檔案時需標註)
with語句
為了避免開啟檔案後忘記關閉,可以通過管理上下文,即:
with open(‘log‘,‘r‘) as f: ...
如此方式,當with代碼塊執行完畢時,內部會自動關閉並釋放檔案資源。
在Python 2.7 後,with又支援同時對多個檔案的上下文進行管理,即:
with open(‘log1‘) as obj1, open(‘log2‘) as obj2: pass
python學習之路3