鍵值對,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 ...