1. 程式人生 > >python學習筆記(三)、字典

python學習筆記(三)、字典

映射類型 strong 賦值 python學習 兩個 4.3 所有 tde 及其

  字典是一種映射類型的數據類型。辣麽什麽是映射呢?如果看過《數據結構與算法》這一本書的小夥伴應該有印象(我也只是大學學習過,嘻嘻)。

  映射:就是將兩個集合一 一對應起來,通過集合a的值,集合b有且只有一個與之對應。字典是Python中唯一的內置映射類型。

1 創建和使用字典

  字典以類似於下面的方式表示:

  phonebook = {‘A‘:‘a‘,‘B‘:‘b‘,‘C‘:‘c‘}

  字典由和其相應的組成,這種鍵-值對稱為。每個鍵與值之間用冒號( : )分隔開,每項用逗號分隔,並且在字典以及其他映射類型中,鍵都是獨一無二的的。空字段用 {} 表示。

  1.1 函數dict

  可以使用函數 dict (與list、tuple和str一樣,dict也是一個類)從其他映射或鍵-值對序列創建字典。

  items = [(‘name‘,‘AA‘),(‘age‘,42)]        dict(items)

  items = [name=‘AA‘,age=42]         dict(items)

  1.2 字典的基本操作

  字典的基本行為同序列有很多類似。

  • len(d) 返回字典d包含項的個數
  • d[key] 返回與鍵key相關聯的值,當key在字典d中不存在的時候,會報錯。
  • d[key]=val 將值val關聯到鍵key,如果鍵key原來存在,則相當於賦值,否則新添加到字典d中。
  • del d[key] 刪除鍵為key的項。如果key在字典中不存在,則會報錯。
  • key in d 檢查字典d是否包含鍵為key的項。相比於檢查列表是否包含指定值,檢查字典是否包含指定值得效率更高。

  1.3 將字符串格式設置功能用於字典

  對於字符串,通過format_map可以將格式字符串中的參數使用字典來進行賦值。如:

  d = {‘a‘:123,‘b‘:234,‘c‘:345,‘d‘:456}  ‘{a} + 111 = {b}‘.format_map(d)

  1.4 字典方法

    1.4.1 clear

    方法clear刪除所有的字典項,對齊進行清空。

    1.4.2 copy

    方法copy返回一個與原來字典一樣的新字典。但是這個方法執行的是淺復制,只包含值,而非副本。

    方法deepcopy執行的是深復制,即同時復制值及包含的所有值。

    1.4.3 fromkeys

    方法fromkeys創建一個新字典,其中包含指定的鍵,默認每個鍵對應的值都是None。

    {}.fromkeys([‘name‘,‘age‘]) / dict.fromkeys([‘name‘,‘age‘]) / dict.fromkeys((‘name‘,‘age‘),‘xxx‘)

    1.4.4 get

    方法get用於獲取字典中key的值,當key不存在時,不會報錯,返回None。並且當不存在的時候,還可以進行“默認”指定值。

    d.get(‘name‘) / d.get(‘name‘,‘name不存在‘)

    1.4.5 items

    方法items返回一個包含所有字典項的列表,其中每個元素都以(key,value)的形式。且順序不定。

    d.items()    [(key1,value1),(key2,value2).......]

    這種以(key,value)形式返回的類型名叫字典視圖。字典視圖可用於叠代(將在後面介紹)。字典視圖始終是底層字典的反映,即修改了字典的值,字典視圖也會跟著修改。

    1.4.6 keys

    方法keys返回一個包含字典中鍵的字典視圖。

    1.4.7 pop

    方法pop獲取與指定鍵相關聯的值,並將該鍵對應的項從字典中刪除。當鍵key不存在時,會報錯。

    1.4.8 popitem

    方法popitem隨機返回一個字典項的值,並刪除該項。

    1.4.9 setdefault

    方法setdefault用於向字典中添加指定的鍵-值對,如果存在鍵key,則更新,不存在,則新增。

    1.4.10 update

    方法update使用一個字典的項來更新另一個字典。如d1.update(d2)。

    1.4.11 values

    方法values返回一個由字典中的值組成的字典視圖,包含重復值。

python學習筆記(三)、字典