python學習之路3

來源:互聯網
上載者:User

標籤:AC   readline   寫檔案   str   釋放   二進位檔案   作用   code   列印   

1. 字典操作

字典一種key - value 的資料類型。

文法:

1 info = {2     ‘car01‘: "Camry",3     ‘car02‘: "Teana",4     ‘car03‘: "Accord",5 }

字典的特性:

  • 字典是無序的
  • key必須是唯一

增加

>>> 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+ 模式同使用)

  • rU
  • r+U

"b"表示處理二進位檔案(如:FTP發送上傳ISO鏡像檔案,linux可忽略,windows處理二進位檔案時需標註)

  • rb
  • wb
  • ab

with語句

為了避免開啟檔案後忘記關閉,可以通過管理上下文,即:

with open(‘log‘,‘r‘) as f:         ...

 

如此方式,當with代碼塊執行完畢時,內部會自動關閉並釋放檔案資源。

在Python 2.7 後,with又支援同時對多個檔案的上下文進行管理,即:

with open(‘log1‘) as obj1, open(‘log2‘) as obj2:    pass

 

python學習之路3

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.