python-010-字典

字典

鍵key:拼音
值value:頁碼
key-value:鍵值對
字典是python中唯一的映射類型,指兩個元素之間一一對應的關係
(註明:字典是映射類型,不是序列類型)

brand=['外星人',‘戴爾’,‘聯想’,‘蘋果’]
English=['AlienWare','Dell','Lenovo','Apple']
#品牌與英文一一對應
print('外星人---','AlienWare')顯示不出來中文,ASCII是十進制, 此時utf-8用的是Unicode,對應的是十六進制的數據,此時轉換過程
#不行,byteString,十進制,unicodeString 十六進制,python2默認十進制,

·字典的創建於訪問

dict:字典可以dict(),n內置方法
d={}表示形式
d={'外星人':'AlienWare','戴爾':'Dell','聯想':'Lenovo','蘋果':'Apple'}

print d['外星人']
AlienWare

1、名稱={鍵1:值1,鍵2:值2,。。。}
2、空字典={}
3、利用函數創建字典
dict(mapping)

d=dict((('one',1),('two',2),('three',3)))#可以用列表 只要映射關係正確都可以

print d#{'three': 3, 'two': 2, 'one': 1}

4、利用關鍵字參數創建字典

d=dict(one=1,two=2,three=3)
print d#{'three': 3, 'two': 2, 'one': 1}

·字典的訪問
1、字典的名稱[鍵名]
2、改寫鍵對應的值

d=dict(one=1,two=2,three=3)
d['one']=100
print d#{'three': 3, 'two': 2, 'one': 100}

3、增加新的鍵值對
d['four']=4
print d#{'four': 4, 'three': 3, 'two': 2, 'one': 100}
4、訪問不存在的鍵值對:
    報錯

    ·字典的內鍵方法(內置函數):
1、fromkeys(...)
     創建並且返回一個新的字典
    dict.fromkeys(s,[,v])
        s:鍵 v:值(沒有給值,默認None)

當第一個參數是容器(元祖,列表,字典)時,會將第二個
參數的整體看成鍵的值

d.fromkeys(('one','two','three'))#{'three': None, 'two': None, 'one': None}
d.fromkeys(['one','two','three'])#{'three': None, 'two': None, 'one': None}
d.fromkeys({'one':1,'two':2,'three':3})#{'one': None, 'three': None, 'two': None}只拿鍵不拿值
d.fromkeys(['one','two','three'],[1,2,3])#{'three': [1, 2, 3], 'two': [1, 2, 3], 'one': [1, 2, 3]}

2、keys()
返回字典鍵的引用

 d=d.fromkeys(['one','two','three'])
 d.keys()#['three', 'two', 'one']
(把所有鍵拿出了封裝列表輸出)
3、values()

d={'one':1,'two':2,'three':3}
d.values()#[3, 2, 1]
    返回字典中的值引用
(把所有值拿出了,封裝一個列表返回)

4、items()

d.items()#[('three', 3), ('two', 2), ('one', 1)]
返回字典的項(鍵值對)

5、get(key[,d])
獲得(訪問)字典中的鍵值對

 d.get('one')#1
 d.get('five')
 print d.get('five')#None

6、in/not in

d={'one':1,'two':2,'three':3}
'three'in d#True
'five'in d #False

7、clear()
清空字典

d.clear()
d#{}

8、copy()

淺拷貝
字典拷貝,地址不同 開始字典裏面內容沒有發生改變,更深地址不變。

python-010-字典![]
9、pop()
給定鍵彈出對應鍵值對(彈出的值會在字典移除,沒有對應的鍵
,並且字典沒有異常,就會報錯。)返回對應值。

{'three': 3, 'two': 2, 'one': 1}
d.pop('one')#1

10、popitem()

同上,返回是一個鍵值對(棧空間)。

d={'three': 3, 'two': 2, 'one': 1}
d.popitem()#('one', 1)彈出是隨機的 內存上面的

11、setdefault(...)
如果字典中沒有鍵值對,則在隨機位置創建一個鍵,如果值沒有設置,默認None

setdefault(k,[,d])
d={'three': 3, 'two': 2}
d.setdefault('one')
d#{'one': None, 'three': 3, 'two': 2}

12、利用字典映射關係,更新字典

d={'three': 3, 'two': 2, 'one': 1}
a={'three':5}
d.update(a)
d#{'one': 1, 'three': 5, 'two': 2}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章