python之9個方向詳解字典

2021-10-06 06:35:43 字數 3835 閱讀 6290

鍵值對,key:value,key必須是immutable的物件,而value可以是任何物件

s =

s =,

'lisi':88

,'lt'

:100

}

{}、dict()

#①空字典

s =dict()

#空字典

s =#空字典

#②非空字典

s =s =

dict([

(1,99

),(2

,88),

(3,100)]

)#包含成對的資料的iterable

print

(s)#

#使用zip建立

names =

['zs'

,'ls'

,'ww'

,'zl'

]scores =[78

,56,88

,99]s =

dict

(zip

(names,scores)

)#zip()函式將物件中對應的元素打包成乙個個tuple(元組),然後由這些tuple(元組)組成乙個list(列表)返回

print

(s)#

#已經有key,但是value是沒有或者是全部一樣的,可以使用fromkeys()建立

#①沒有value值

s =dict

.fromkeys(names)

print

(s)#

#②有value值

s =dict

.fromkeys(names,19)

print

(s)#

s =dict

.fromkeys(names,scores)

print

(s)#

s =

s['ruhua']=

80print

(s)#

s['damei']=

95print

(s)#

del、pop、popitem、clear

s =

#del 字典名[key] 無返回值

del s[

'damei'

]#如果刪除的key不存在,會丟擲keyerror

print

(s)#

#pop(key)有返回值

print

(s.pop(

'ruhua'))

#80print

(s)#

#popitem() 有返回值

print

(s.popitem())

#('lt', 100)

print

(s)#

#clear 清空

s.clear(

)print

(s)#{}

s =

print

(s)#

s['damei']=

99print

(s)#

in、not in 查key在不在字典裡

字典名[key]

字典名.get(key) 如果key不在字典裡,會輸出none,不會報錯

s =

print

('zs'

in s)

#true

print

(s['zs'])

#66print

(s.get(

'zs'))

#66print

(s.get(

'ww'))

#none

#設定預設值,

s.setdefault(

'www'

,'google.com'

)print

(s)#

s['www']=

'abc.com'

print

(s['www'])

#abc.com

遍歷key值

s =

for k in s:

print

(k)

遍歷value值

s =

for k in s:

print

(s[k]

)

遍歷key:value

s =

for k in s:

print

(f':'

)

s =

#獲取字典所有key

print

(s.keys())

#dict_keys(['zs', 'lisi', 'lt'])

print

(list

(s.keys())

)#['zs', 'lisi', 'lt']

#獲取字典所有的value

print

(list

(s.values())

)#[66, 88, 100]

#獲取items

print

(s.items())

#dict_items([('zs', 66), ('lisi', 88), ('lt', 100)])

print

(list

(s.items())

)#[('zs', 66), ('lisi', 88), ('lt', 100)]

預設按key進行排序

s =

#第一種方法,排序後仍為字典

s1 =

print

(s1)

##第二種方法,排序後為列表

print

(sorted

(s.keys())

)#['damei', 'lisi', 'lt', 'ruhua', 'zs']

print

(sorted

(s.keys(

),reverse=

true))

#['zs', 'ruhua', 'lt', 'lisi', 'damei']

按value進行排序

s =

#第一種方法,排序後仍為字典

s2 =

print

(s2)

#print

(sorted

(s.items(

),key =

lambda x:x[1]

))#[('zs', 66), ('ruhua', 80), ('lisi', 88), ('damei', 95), ('lt', 100)]

#第二種方法,排序後為列表

print

(sorted

(s.values(

),reverse=

true))

#[100, 95, 88, 80, 66]

#copy

s =s1 = s.copy(

)print

(s1)

##淺拷貝:會把裡面的東西都拷貝過來,但是如果是物件的話,是把物件的位址拷貝過來

s2 =

#update()

s.update(s2)

#如果s2中的鍵值對,不在s中,那麼將其新增到s中;如果s2的鍵值對在s中,將對s中該鍵值對的value值進行更新

print

(s)#

Python之dict字典詳解

python內建了字典 dict的支援,dict全稱dictionary,在其他語言中也稱為map,字典是另 一種可變容器模型,且可儲存任意型別物件。具有極快的查詢速度。字典是一種通過名字或者關鍵字引用的得資料結構,其鍵可以是數字 字串 元組,這種結構型別也稱之為對映。字典型別是python中唯一內...

Python 合併2個字典成1個新字典的9種方法

d1 d2 輸出 d d.update d1 方法1,使用兩次update方法向字典中新增元素 d.update d2 print d d d1.copy 方法2,先複製,後更新 d.update d2 print d d dict d1 方法3,字典構造器 d.update d2 print d ...

Python合併2個字典成1個新字典的9種方法

d1 d2 輸出 d d.update d1 方法1,使用兩次update方法向字典中新增元素 d.update d2 print d d d1.copy 方法2,先複製,後更新 d.update d2 print d d dict d1 方法3,字典構造器 d.update d2 print d ...