Python的基本數(shù)據(jù)類型--Dictionary

字典是一組無序的集合褒翰,由key和vlaue組成,通過key映射你想要存儲或者獲取的內(nèi)容闪水, Python中的字典就像現(xiàn)實世界中的字典一樣报破,都可以通過索引找到對應(yīng)的值

Photo by Aaron Burden on Unsplash

如何創(chuàng)建字典

字典的創(chuàng)建方式和集合一樣,也是在{}中用逗號隔開每組元素蚤吹,不同的是字典中的每組元素有key:value組成例诀,其中key是唯一的而且是不可變類型,value可以是任意類型裁着,當然也可以重復繁涂。

# 定義一個空字典
a={}
print(type(a))
# 輸出 dict

# 定義一個字典
a={'cn':"China",'us':'United States of America'}

# 把列表轉(zhuǎn)為一個字典
a=dict([('a','apple'),('b','banana')])
print(a)
# 輸出 {'a': 'apple', 'b': 'banana'}

前面說過字典中的key必須是唯一的,那如果我們定義重復的key會怎樣呢?下面通過代碼來演示一下

a={'a':'Apple','a':'banana'}
print(a)
# 輸出 {'a': 'banana'}

b=dict([(1,'key是1'),(1,'key是2'),(1,'key是3')])
print(b)
# 輸出{1: 'key是3'}

通過上面的案例我們可以得出2點結(jié)論

  • 定義一個字典時出現(xiàn)重復的key不會報錯
  • 相同的key會被后面的覆蓋

訪問字典中的元素

因為字典是無序的集合二驰,所以我們也不能通過索引和切片的方式訪問扔罪,但是我們可以通過字典中的key來訪問對應(yīng)的value

a={'a':'Apple','b':'banana'}

# 第一種方式
print(a['a'])
# 輸出 'Apple'

# 第二種方式
print(a.get('b'))
# 輸出 'banana'

# 通過key用上面兩種方式都可以對應(yīng)的vaule

# 但是第一種訪問不存在的key會報錯
print(a['c'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'c'

# 使用get不僅不會報錯,而且還可以設(shè)置默認值
print(a.get('c','沒找到c'))
# 輸出 沒找到c

更新或添加元素

字典添加桶雀、更新元素沒有像集合提供了很多種方法

a={'a':'Apple','b':'Banana'}

# 更新 
a['b']='我要更新數(shù)據(jù)了'
print(a)
# 輸出  a={'a':'Apple','b':'我要更新數(shù)據(jù)了'}

# 使用update 添加
a.update({'c':'使用update','d':['1','2',True]})
print(a)
# 輸出 {'d': ['1', '2', True], 'a': 'Apple', 'c': '使用update', 'b': 'Banana'}

# 添加
a['e']='我是新增的數(shù)據(jù)'
print(a)
# 輸出 {'d': ['1', '2', True], 'e': '我是新增的數(shù)據(jù)', 'a': 'Apple', 'c': '使用update', 'b': 'Banana'}

# 字典是無序的集合 所以新增的數(shù)據(jù)位置在哪都一樣

刪除元素

訪問元素的時候我們通過key,刪除的時候我們也可以通過key來刪除矿酵,下面我來演示4種方法

a={'a': '1', 'b': '2', 'c': '3','d':'4','e':'5'}

# 使用內(nèi)置方法pop()
a.pop('a')
# 返回 '1'
print(a)
# 輸出 {'b': '2', 'c': '3','d':'4','e':'5'}

# 通過del刪除
del a['b']
# 輸出 {'c': '3','d':'4','e':'5'}

# 使用內(nèi)置方法popitem()
a.popitem()
# 返回('d', '4')
print(a)
# 輸出 {'e': '5', 'c': '3'}

# 使用內(nèi)置方法清空字典
a.clear()
print(a)
# 輸出 {}

上述4種方法都可以刪除元素唬复,我們來總結(jié)一下他們之間的區(qū)別

  • pop()

通過key來刪除元素,而且會返回被刪除key對應(yīng)的value

  • del a[key]

也是通過key來刪除元素全肮,但是不會返回值

  • popitem()

隨機刪除一對元素敞咧,且會返回被刪除key和value組成的元組

  • clear()

清空字典

字典的一些基本操作

獲取字典中所有的key

a={'a':1,'b':2,'c':3}
print(list(a.keys()))
# 輸出['a','b','c']

獲取字典中所有的value

a={'a':1,'b':2,'c':3}
print(list(a.values()))
# 輸出[1,2,3]

獲取字典的長度

a={'a':1,'b':2,'c':3}
print(len(a))
# 輸出 3

總結(jié):要重點掌握字典key和value的關(guān)系,熟練運用字典中添加和更新操作辜腺,字典是python中重要數(shù)據(jù)類型休建,以后項目中使用的很廣泛

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市哪自,隨后出現(xiàn)的幾起案子丰包,更是在濱河造成了極大的恐慌,老刑警劉巖壤巷,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邑彪,死亡現(xiàn)場離奇詭異,居然都是意外死亡胧华,警方通過查閱死者的電腦和手機寄症,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矩动,“玉大人有巧,你說我怎么就攤上這事”唬” “怎么了篮迎?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長示姿。 經(jīng)常有香客問我甜橱,道長,這世上最難降的妖魔是什么栈戳? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任岂傲,我火速辦了婚禮,結(jié)果婚禮上子檀,老公的妹妹穿的比我還像新娘镊掖。我一直安慰自己,他們只是感情好褂痰,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布亩进。 她就那樣靜靜地躺著,像睡著了一般缩歪。 火紅的嫁衣襯著肌膚如雪镐侯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音苟翻,去河邊找鬼韵卤。 笑死,一個胖子當著我的面吹牛崇猫,可吹牛的內(nèi)容都是我干的沈条。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼诅炉,長吁一口氣:“原來是場噩夢啊……” “哼蜡歹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起涕烧,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤癌佩,失蹤者是張志新(化名)和其女友劉穎愉烙,沒想到半個月后浪南,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體浅役,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年瞻凤,在試婚紗的時候發(fā)現(xiàn)自己被綠了憨攒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡阀参,死狀恐怖肝集,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛛壳,我是刑警寧澤杏瞻,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站衙荐,受9級特大地震影響捞挥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赫模,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一树肃、第九天 我趴在偏房一處隱蔽的房頂上張望蒸矛。 院中可真熱鬧瀑罗,春花似錦、人聲如沸雏掠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乡话。三九已至摧玫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背诬像。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工屋群, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坏挠。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓芍躏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親降狠。 傳聞我的和親對象是個殘疾皇子对竣,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容