python-映射·字典


    1.創建字典:字典由鍵值對組成,每個鍵值對就是字典的一個元素,鍵值對之間用分號(:)隔開,元素之間用逗號(,)隔開。字典中的鍵必須是唯一 且不可變得(不可以是列表或者字典)。字典中的元素是無序的。

    dic = {'name': 'Gumby', 'age': '18'}

    2.字典的基本操作

    1)使用len(dict)函數返回字典中包含的鍵值對的個數

1 >>> dic = {'name': 'Gumby', 'age': '18'}
2 >>> len(dic)
3 2

 

    2)dict[key],key的值為字典中的鍵的名稱,返回該鍵所對應的值

復制代碼
1 >>> dic = {'name': 'Gumby', 'age': '18'}
2 >>> dic['name']
3 'Gumby'
4 >>> dic = {'name': 'Gumby', 'age': '18'}
5 >>> dic['phone'] = '123456'
6 >>> dic
7 {'name': 'Gumby', 'age': '18', 'phone': '123456'}
復制代碼

    3)dict[key] = value, 我們可以使用‘=’來給字典鍵為key的項關聯新的值。當鍵不在字典中的時候,字典將添加這一鍵值對到字典中。

1 >>> dic = {'name': 'Gumby', 'age': '18'}
2 >>> dic['name'] = 'Alex'
3 >>> dic
4 {'name': 'Alex', 'age': '18'}

    4)使用del dict[key] 來刪除鍵值對

1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> del dic['phone']
3 >>> dic
4 {'name': 'Gumby', 'age': '18'}

    5)成員資格:使用key in dict來檢查字典中是都包含鍵為key的值,存在返回True,反之返回False

1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> 'name' in dic
3 True
4 >>> 'add' in dic
5 False

    3.字典的方法

    1.clear(self)

    clear方法將刪除字典中所有的項,原字典變為空字典

1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dic.clear()
3 >>> dic
4 {}

    2.copy(self)

    copy方法返回一個新字典,跟原字典相同,只不過這個復制是淺復制

1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dic.copy()
3 {'name': 'Gumby', 'age': '18', 'phone': '123456'}

         3.fromkeys(*args, **kwargs)

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

復制代碼
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dict.fromkeys(dic)
3 {'name': None, 'age': None, 'phone': None}
4 >>> dict.fromkeys([1, 2, 3])
5 {1: None, 2: None, 3: None}
6 #傳入第二個參數為‘python’,字典的每個鍵對應的值都為'python'
7 >>> dict.fromkeys([1, 2, 3], 'python')
8 {1: 'python', 2: 'python', 3: 'python'}
復制代碼

    4.get(self, k, d=None)

    get方法與上述的dict[keys]的效果類似,不同的是當k在字典中找不到的時候不會報錯,會返回None或我們指定的值

復制代碼
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dic.get('name')
3 'Gumby'
4 >>> dic.get('school')
5 >>> dic.get('school','nothing')
6 'nothing'
復制代碼

    5.items(self)

    items方法返回一個包含字典中所有鍵值對的可迭代對象,每個鍵值對用元組返回

1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dic.items()
3 dict_items([('name', 'Gumby'), ('age', '18'), ('phone', '123456')])
4 >>> list(dic.items())
5 [('name', 'Gumby'), ('age', '18'), ('phone', '123456')]

    6.keys(self)

    keys方法返回字典中所有鍵組成的可迭代對象

1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dic.keys()
3 dict_keys(['name', 'age', 'phone'])
4 >>> list(dic.keys())
5 ['name', 'age', 'phone']

    7.pop(self, k, d=None)  與 popitem(self)

    pop方法返回指定key所對應的值,並且從字典中刪除該鍵值對;popitem方法類似於列表中的pop方法,只是列表中的pop方法是刪除最后一個元素,而popitem方法是隨機刪除字典中的一個鍵值對,並返回

復制代碼
 1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
 2 >>> dic.pop('name')
 3 'Gumby'
 4 >>> dic
 5 {'age': '18', 'phone': '123456'}
 6 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
 7 >>> dic.popitem()
 8 ('phone', '123456')
 9 >>> dic
10 {'name': 'Gumby', 'age': '18'}
復制代碼

    8.setdefault(self, k, d=None)

    setdefault方法類似於get方法,可以獲取指定鍵所對應的值,與get方法不同的是,若key不在字典中,setdefault方法將在字典中插入指定的鍵值對。

復制代碼
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dic.setdefault('name')
3 'Gumby'
4 #‘school’不在該字典中,setdefault在字典中插入該鍵且值為None
5 >>> dic.setdefault('school')
6 >>> dic
7 {'name': 'Gumby', 'age': '18', 'phone': '123456', 'school': None}
復制代碼

    9.update(self, E=None, **F)

    updat方法使用一個字典中的鍵值對來更新另一個字典,如果包含相同的項就替換該項的值,若不存在,就添加到字典中。

1 >>> dic = {'name': 'Gumby', 'age': '18'}
2 >>> d = {'name': 'Alex', 'phone': '123456'}
3 >>> dic.update(d)
4 >>> dic
5 {'name': 'Alex', 'age': '18', 'phone': '123456'}

    10.values(self)

    values方法返回一個有字典中的值組成的可迭代對象

1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'}
2 >>> dic.values()
3 dict_values(['Gumby', '18', '123456'])
4 >>> list(dic.values())
5 ['Gumby', '18', '123456']

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM