Python基礎---容器字典Dict

 字典Dict(無序集合)python

定義:一系列鍵值對元素組成的集合函數

     使用 {} 來表示
spa

   字典不關心鍵值對的排列順序,只關心鍵和值之間的關聯關係code

   PS:在Python3.6中,重寫了字典,如今是有序的了對象

       https://stackoverflow.com/questions/39980323/are-dictionaries-ordered-in-python-3-6blog

建立字典:ci

  一、空字典: dict = {}字符串

  二、帶數據的字典:dict = {key1 : value1, key2 : value2, ...}get

     其中:key值具備惟一性,且不可變(可以使用 字符串string,數字int,元組tuple等)string

        value值能夠是Python中的任何對象,好比(int, string, list, dict等)

字典操做:

  一、訪問:

   dict[key]

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 result = var['c']
3 print(result)
4 --->Callie

 

  二、刪除:

     del dict/dict[key] 刪除字典或key對應的value

   clear()           清空字典,獲得一個空字典

   pop(key)     刪除字典中制定的元素

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var.pop('a')
3 print(var)
4 --->{'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}

   popitem()      隨機返回並刪除字典中的一對鍵和值(通常刪除末尾對)

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var.popitem()
3 print(var)
4 --->{'a': 'Alan', 'b': 'Brain', 'c': 'Callie'}

  三、添加 & 修改:

    dict[key] = value

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var['a'] = 'Ab'
3 print(var)
4 --->{'a': 'Ab', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
5 
6 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
7 var['e'] = 'Ed'
8 print(var)
9 --->{'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny', 'e': 'Ed'}

 

字典方法:

 

  一、len(dict)

  二、max(dict) & min(dict)  最大值和最小值,返回結果是字典的key;

                   若是key不是數字類型,則根據Ascii值比較

  三、和List,Tuple同樣,一樣具備推導式

字典的遍歷:

  一、for key,value in dict.items()  遍歷字典的鍵和值

      items()將字典轉換爲一個2級List容器,可是該List不是標準的列表類型

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 for key, value in var.items():
3     print(key + '-' + value)
4 --->a-Alan
5 --->b-Brain
6 --->c-Callie
7 --->d-Danny

  二、for key in dict.keys()  遍歷字典的鍵,

                固然,不調用keys()方法,會默認遍歷全部的鍵

                等價於 for key in dict

   三、for key in dict.values()   遍歷字典的值

 

字典相關函數:

  一、clear()  清空

  二、copy()  複製

  三、fromkeys(seq, value)  

    建立一個新字典,以列表元素爲鍵,value爲對應的初始值

1 num = [1, 2, 3, 4, 5]
2 var = dict.fromkeys(num, 'Hello')
3 print(var)
4 {1: 'Hello', 2: 'Hello', 3: 'Hello', 4: 'Hello', 5: 'Hello'}

 

  四、get(key, default=None) 

    根據key獲得對應的值,若是key不在字典中,返回默認值

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 print(var.get('a'))
3 --->Alan
4 print(var.get('e', 'Rrror'))
5 --->Rrror

  五、setdefault(key, default=None)  與get()相似;

      若是字典中key值存在,則返回該key對應的value

      若是key值不存在,則添加以key爲鍵,default爲值的鍵值對,並返回該鍵值對

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 new = var.setdefault('a', 'Wood')
3 new1 = var.setdefault('w', 'Wood')
4 print(new)
5 --->Alan
6 print(new1)
7 --->Wood

  六、update()  更新修改dict中的元素

           若是key值不存在,則會進行添加

           dict.update(key = value)

         or dict.update({key : value})  通常習慣使用導入字典

1 var = {'a': 'Alan', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny'}
2 var.update({'e': 'Elbert'})
3 var.update({'a': 'Abc'})
4 print(var)
5 --->{'a': 'Abc', 'b': 'Brain', 'c': 'Callie', 'd': 'Danny', 'e': 'Elbert'}

嵌套:

  在開頭的建立描述中,字典的值能夠是List,Tuple甚至是Dict

1 city = {'河南': {
2                 '二線': '鄭州',
3                 '三線': ['洛陽', '南陽'],
4                 '四線': ('開封', '許昌', '新鄉')
5                 }
6         }
相關文章
相關標籤/搜索