在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 一、字典(Dictionary)
二、Enum 的源碼
前言
一、Python 模塊簡介
一、List(列表)
五、匿名函數(shù)
三、什么是元類
二、循環(huán)語句
二、模塊的使用
三、第一個 Python 程序
線程與進程
Python
三、條件語句和循環(huán)語句綜合實例
四、對象的描述器
三、類的屬性
一、迭代
五、迭代器和生成器綜合例子
六、運算符相關(guān)的魔術(shù)方法
一、枚舉類的使用
前言
一、簡明概述
二、Python 的基本數(shù)據(jù)類型
多線程編程
五、作用域
四、包
四、枚舉的比較
四、Python 中的變量
六、類的多態(tài)
一、Python 中類也是對象
一、Python 的 Magic Method
前言
四、生成器
一、面向?qū)ο蟮母拍?/span>
五、類的繼承
二、類
二、使用 <code>type()</code> 動態(tài)創(chuàng)建類
進程
二、set
三、主模塊和非主模塊
一、字典(Dictionary)
前言
前言
前言
前言
四、集成開發(fā)環(huán)境(IDE): PyCharm
前言
四、函數(shù)的參數(shù)
三、lsit 生成式(列表生成式)
四、自定義元類
四、類的方法
二、函數(shù)傳值問題
二、注釋
一、條件語句
一、Python 語法的簡要說明
三、函數(shù)返回值
三、基本數(shù)據(jù)類型轉(zhuǎn)換
三、屬性的訪問控制
二、Python 的安裝
前言
三、命名規(guī)范
一、Python 自定義函數(shù)的基本步驟
三、自定義類型的枚舉
五、自定義容器(Container)
二、Python 迭代器
前言
二、tuple(元組)
一、Python 簡介
前言
前言
前言
二、構(gòu)造(<code>__new__</code>)和初始化(<code>__init__</code>)
前言

一、字典(Dictionary)

經(jīng)過之前的學習,我們可以知道 list 和 tuple 可以用來表示有序集合,之前我們那個例子是用 list 來存儲了用戶的昵稱

user=['liangdianshui','twowater','兩點水']

如果我們需要把用戶的賬號也記錄進去呢?

用 list 可以這樣子解決:

user=[['liangdianshui','111111'],['twowater','222222'],['兩點水','333333']]

可是這樣表示也不方便,而且很難根據(jù)昵稱找到對應(yīng)的昵稱,且 list 越長,耗時越長;這時候就可以用 dict (字典)來表示了,Python 內(nèi)置了 字典(dict),dict 全稱dictionary,相當于 JAVA 中的 map,使用鍵-值(key-value)存儲,具有極快的查找速度。

user={'liangdianshui':'111111' ,'twowater':'222222' ,'兩點水':'333333'}

1、dict (字典)的創(chuàng)建

字典是另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο蟆?/p>

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

dict = {key1 : value1, key2 : value2 }

注意:鍵必須是唯一的,但值則不必。值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的。

創(chuàng)建 dict(字典)實例:

dict1={'liangdianshui':'111111' ,'twowater':'222222' ,'兩點水':'333333'}
dict2={'abc':1234,1234:'abc'}

2、訪問 dict (字典)

#-*-coding:utf-8-*-
dict1={'liangdianshui':'111111' ,'twowater':'222222' ,'兩點水':'333333'}
print(dict1)

輸出的結(jié)果:

{'liangdianshui': '111111', 'twowater': '222222', '兩點水': '333333'}

這里需要注意的一點是:如果字典中沒有這個鍵,是會報錯的。

3、修改 dict (字典)

向字典添加新內(nèi)容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對

#-*-coding:utf-8-*-
dict1={'liangdianshui':'111111' ,'twowater':'222222' ,'兩點水':'333333'}
print(dict1)
# 新增一個鍵值對
dict1['jack']='444444'
print(dict1)
# 修改鍵值對
dict1['liangdianshui']='555555'
print(dict1)

輸出的結(jié)果:

{'liangdianshui': '111111', 'twowater': '222222', '兩點水': '333333'}
{'liangdianshui': '111111', 'twowater': '222222', '兩點水': '333333', 'jack': '444444'}
{'liangdianshui': '555555', 'twowater': '222222', '兩點水': '333333', 'jack': '444444'}

4、刪除 dict (字典)

通過 del 可以刪除 dict (字典)中的某個元素,也能刪除 dict (字典)

通過調(diào)用 clear() 方法可以清除字典中的所有元素

#-*-coding:utf-8-*-
dict1={'liangdianshui':'111111' ,'twowater':'222222' ,'兩點水':'333333'}
print(dict1)
# 通過 key 值,刪除對應(yīng)的元素
del dict1['twowater']
print(dict1)
# 刪除字典中的所有元素
dict1.clear()
print(dict1)
# 刪除字典
del dict1

輸出的結(jié)果:

{'liangdianshui': '111111', 'twowater': '222222', '兩點水': '333333'}
{'liangdianshui': '111111', '兩點水': '333333'}
{}

5、 dict (字典)使用時注意的事項

(1) dict (字典)是不允許一個鍵創(chuàng)建兩次的,但是在創(chuàng)建 dict (字典)的時候如果出現(xiàn)了一個鍵值賦予了兩次,會以最后一次賦予的值為準

例如:

#-*-coding:utf-8-*-
dict1={'liangdianshui':'111111' ,'twowater':'222222' ,'兩點水':'333333','twowater':'444444'}
print(dict1)
print(dict1['twowater'])

輸出的結(jié)果:

{'liangdianshui': '111111', 'twowater': '444444', '兩點水': '333333'}
444444

(2) dict (字典)鍵必須不可變,可是鍵可以用數(shù)字,字符串或元組充當,但是就是不能使用列表

例如:

#-*-coding:utf-8-*-
dict1={'liangdianshui':'111111' ,123:'222222' ,(123,'tom'):'333333','twowater':'444444'}
print(dict1)

輸出結(jié)果:

{'liangdianshui': '111111', 123: '222222', (123, 'tom'): '333333', 'twowater': '444444'}

(3) dict 內(nèi)部存放的順序和 key 放入的順序是沒有任何關(guān)系

和 list 比較,dict 有以下幾個特點:

  • 查找和插入的速度極快,不會隨著key的增加而變慢

  • 需要占用大量的內(nèi)存,內(nèi)存浪費多

而list相反:

  • 查找和插入的時間隨著元素的增加而增加

  • 占用空間小,浪費內(nèi)存很少

6、dict (字典) 的函數(shù)和方法

方法和函數(shù) 描述
cmp(dict1, dict2) 比較兩個字典元素
len(dict) 計算字典元素個數(shù)
str(dict) 輸出字典可打印的字符串表示
type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類型
dict.clear() 刪除字典內(nèi)所有元素
dict.copy() 返回一個字典的淺復制
dict.values() 以列表返回字典中的所有值
popitem() 隨機返回并刪除字典中的一對鍵和值
dict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
上一篇:二、循環(huán)語句下一篇:前言