Python 資料型別之dict

2022-07-29 09:21:10 字數 3208 閱讀 9379

字典,相當於乙個列表,不過列表的索引是數字,字典的索引是數字或者字串。

1、字典的訪問

字典是典型的key-value結構,乙個key對應著乙個value,key就是索引,value就是要儲存的值

score=

print(score['

albert

'])#

根據key訪問value

score['xp

']=77#

新建乙個key-value對

print

(score)

print('

#遍歷value')

for i in score:#

遍歷value

print

(i)

print('

#遍歷key和value')

for key,value in

score.items():

print(key,value)

輸出

99

#遍歷value

albert

qqxp

#遍歷key和value

albert 99qq 88xp 77

這樣就很方便的解決了索引不是數字的情況了。

字典的底層其實是雜湊表,或者叫hash表。

2、字典的方法

(1)clear(self):清除所有內容,將字典變為none。

b=

a=b.copy()a['

albert

']=0

print

(b)b=

a=ba[

'albert

']=0

print(b)

輸出

這就可以看出來copy與直接賦值的區別了。

(3)fromkeys(*args, **kwargs):根據key創造乙個字典

name=['

albert

', 'qq'

]score=10a=dict.fromkeys(name,score)

print

(a)b=dict.fromkeys(name)

print(b)

輸出

(4)get(self, k, d=none):如果k(key)在字典中,則返回value。如果不在字典中,就返回d(default)預設返回none

a=

print(a.get('qq'

))print(a.get('xp'

))print(a.get('

xp',100))

輸出

88none

100

(5)items(self):返回乙個包含key和value的集合,通常用來字典裡的key和value

a=

for key,value in

a.items():

print(key,value)

輸出

albert 99qq 88

(6)keys(self)返回乙個只包含key的集合,通常用來字典裡的key

a=

for key in

a.keys():

print(key)

輸出

albert

qq

(7)pop(self, k, d=none):刪除某個k(key),返回相應的value,如果k找不到,就返回d,d預設為none,會丟擲keyerror

a=

print(a.pop('qq'

))print

(a)print(a.pop('

xp','no'

))a.pop('xp

')#沒有指定d

輸出

88

notraceback (most recent call last):

file

"c:/users/admin/pycharmprojects/temp.py

", line 15, in

a.pop('xp

')keyerror: 'xp

'

(8)popitem(self):也是刪除一對key-value。但是他會把這一對key-value當做元組返回。(字典為空也會報錯)

(9)setdefault(self, k, d=none):相當於get()方法獲取key的value。但是如果key不存在,他會新建乙個,並設value為d,並返回d

a=

print(a.setdefault('qq'

))print

(a)print(a.setdefault('

xp',77))

print(a)

輸出

88

77

(10)update(self, e=none, **f)用字典ef更新字典

if e is present and has a .keys() method, then does:  for k in e: d[k] = e[k]

if e is present and lacks a .keys() method, then does: for k, v in e: d[k] = v

in either case, this is followed by: for k in f: d[k] = f[k]

a=

e=f=[33,44]

print

(a)a.update(e)

print(a)

輸出

(11)values(self):主要用來遍歷values
a=

print

(a.values())

for v in

a.values():

print(v)

輸出

dict_values([99, 88])

9988

常用的這幾個物件的所有方法的用法算是看完了,但是我不能保證我都記住了,有個印象就好。用的時候想到有這個方法,再過來檢視一下就行,用多了就記住了。

Python資料型別之dict

dict 鍵值對應 字典的key是唯一的,key必須是不可變資料型別,key 不可變的資料型別 可雜湊 str,value 任意型別 增,兩種方式 dic dic1 dic 1 11 無則新增,有則替換 setdefault dic.setdefault b new 有則不變,無則新增 print ...

Python基本資料型別之字典(dict)

終於迎來了python的最後乙個基本資料型別,可能有人記得,在我們講集合的時候嘗試過編寫沒有元素的集合就有出現過下面這種情況。圖中其實表示的是乙個空的字典,那麼現在就能了解到其實字典型別也是跟集合一樣由花括號包裹的,當然除此之外還有其他特性是相似的,這個暫且不說,我們先看下字典的具體編寫方式。由上可...

6 python資料型別之元組(dict)

字典 字典的每個元素就是乙個鍵值對,格式如下 key value 1 建立 dict eg dict eg1 dict key1 123,key2 456 2 常見操作 dict user info 索引 print dict user info name del刪除元素 del test1 a1 ...