前言
? ? ? ? 上一篇文章我們介紹了python中的序列類型和元組類型,本篇文章將接著往下將。
? ? ??
1、字典類型
? ? ? ? 字典類型是根據一個信息查找另一個信息的方式所構成的“鍵值對”,它表示索引用的鍵和對應的值構成的成對關系。它是一個可變數據類型,也就是說它具備增刪查改的屬性。
? ? ? ? 與列表不同的是,字典當中的元素是無序的。第一個添加到字典當中的元素并不一定在字典當中的第一位。
????????字典當中的鍵要求唯一,不能有重復,但是值可以重復。
? ? ? ? 最重要的一點是:字典當中的鍵要求的是不可變序列,因此可以作為字典中的鍵的數據有:字符串、整數、浮點數、元組。列表不能作為字典當中的鍵,因為列表是可變數據類型。
1.1 字典的創建方式
? ? ? ? 第一種方式:使用{}直接創建字典
? ? ? ? d={key1:value1,key2:value2......}
? ? ? ? 第二種方式:使用內置函數進行創建,有兩種內置函數的創建方式
? ? ? ? 1)通過映射創建字典:zip(lst1,lst2)
? ? ? ? 用zip括起來兩個列表,就會自動生成以一個列表為鍵第二個列表為值得字典,且根據兩個列表的索引一一對應鍵和值。當然,也可以使用元組。
? ? ? ? 2)使用dict函數,語法如下:
? ? ? ? dict(ket1=value1,key2=value2......)
? ? ? ? 下面進行程序舉例:
#1、字典創建#直接使用{}
d={10:'cat',20:'dog',30:'pig'}
print(d)#使用函數zip
a=[1,2,3]
b=['hh','bb','kk']
c=zip(a,b)
d=dict(c)
print(d)#使用函數dict創建字典
f=dict(pp=11,xx=22,yy=33)
print(f)
? ? ? ? 這三種創建方式均可創建字典變量。
1.2 字典的操作
? ? ? ? 字典是屬于序列的,所以,序列的操作字典都可以實現。例如:求長度len(),最大值max(),最小值min()。以及增刪查改的函數。
1.3 字典元素的訪問及遍歷
? ? ? ? 字典元組訪問有兩種方式,第一種形式是:字典名[key];第二種形式是:字典名.get(key)。
? ? ? ? 下面進行程序舉例:
d={'python':10,'hello':20,'world':30}#訪問字典中的元素
#1)使用d[key]
print(d['python'])
#2)d.get(key)
print(d.get('python'))
????????
? ? ? ? 兩種方式最后效果相同,但是它們是有區別的。如果我們輸入的鍵不存在,那么如果我們用d[key]的形式,程序就會報錯;但是我們使用d.get(key)的形式,程序會輸出:None。這就是兩種訪問的區別。
? ? ? ? 字典的遍歷:
#字典的遍歷
for item in d.items():print(item)#分別獲取key和value
for key,value in d.items():print(key,'--->',value)
? ? ? ? 字典遍歷時,我們可以直接遍歷,也可以將字典的鍵和值分別遍歷出來,操作以及效果如上。
1.4 字典獨有的操作方法
總結
? ? ? ? 關于字典類型,就講到這,希望對你有所幫助。