Day 5 字典以及字典的用法

2022-08-24 00:06:11 字數 3421 閱讀 3631

拓展

li = ['alex','wusir','taibai']

print('_'.join(li))

拼接的符號''.join(可迭代物件)

字典--dict

字典:用於存貯資料,存貯大量資料

優點:速度快(快於列表)

能將資料之間關聯起來

定義乙個字典

dict =

字典中逗號分割開的叫做乙個元素'1'(鍵):10(值) 鍵值對

字典的鍵:

可雜湊的---不可變的資料型別--避免雜湊衝突,使用了開放群值法

不可雜湊---可變的資料來興

要求唯一--如果有重複的後邊的值前面的值覆蓋

字典的值:

可以任意

合法dic =

print(dic[123])

print(dic[true])

print(dic['id'])

print(dic['stu'])

print(dic[(1, 2, 3)])

不合法dic = # list是可變的. 不能作為key

dic = : "哈哈哈"} # dict是可變的. 不能作為key

dic = : '呵呵呵'} # set是可變的, 不能作為key

注意: key必須是不可變(可雜湊)的. value沒有要求.可以儲存任意型別的資料

增dic =

dic['李文虎'] = 89

print(dic)#直接新增,暴力新增

dic =

dic.setdefault('李文虎','89')

print(dic)

dic =

dic.setdefault('李文虎','100')

print(dic)

# 李文虎這個鍵去字典查詢,如果不存在執行新增,如果存在就不新增。

dic =

print(dic.setdefault('王菲'))

print(dic)

89 存在

none 不存在 執行新增

刪除dic =

del dic['張與']

print(dic)#通過字典的鍵刪除鍵值對

dic =

print(dic.pop('張與'))

print(dic)#通過字典的鍵刪除鍵值對,有返回值-被刪除的值

dic =

dic.clear()

print(dic)

改dic =

dic['張與'] ='asd'

print(dic)#字典中沒有某個鍵值對的時候就是新增,當鍵在字典中存在的時候就是修改

有則改,無則加

例:dic =

dic.update()

print(dic)

dic =

dic1 =

dic1.update(dic)

print(dic1)#update()的字典級別高於update前面的字典

查dic =

for i in dic:

print(i)#獲取的是每個鍵值對的鍵

dic =

print(dic.get('李文虎'))

dic =

print(dic.get('王菲'))

通過鍵獲取值,如果不在字典中返回none

dic =

print(dic['李文虎'])

dic =

print(dic['王菲'])

通過鍵獲取值,如果不在字典中報錯

其它操作

dic =

for i in dic:

print(i,dic.get(i))

高仿列表

dic =

print(dic.keys())

高仿列表---dict_keys(['1', '5', '李文虎'])

可實現功能

for迴圈(可實現)

dic =

for i in dic.keys():

print(i)

索引查詢(不可實現)

dic =

print(dic.keys[0])

獲取字典中所有的值(可實現)

dic =

print(dic.values())

獲取字典中所有的鍵值對(可實現)

dic =

print(dic.items())

for迴圈獲取字典中所有的鍵值對(可實現)

dic =

for i in dic.items():

print(i[0],i[1])

解構a = 10

b = 20

a,b = b,a

print(a,b)

a,b = 1,2

print(a)

print(b)

a,b = [1,2]

print(a)

print(b)

a,b = (3,4,5)

print(a,b)#報錯,沒有一一對應

a,_,b = (3,4,5)

print(a,b)#等號後邊的值和前面的變數名一一對應

a = 10,12 #本質是乙個元組

print(a)

a,b = '23'

print(a,b)

a,b =

print(a,b)

dic =

for k,v in dic.items():

print(k,v)

字典的巢狀

dic = },

1003:,

1004:},,,]}

}print(dic[1004]['韋小寶'][0]['教主夫人'][0])

總結字典--dict

無序,可變的

鍵:使用不可變資料型別(可雜湊),鍵是唯一的

值:可以任意

增dic['鍵']='值'

dic.setdefault('鍵','值')#存在不新增

刪除del dic['鍵']

dic.pop['鍵']

dic.clear()

改dic['鍵']='值'

dic.update('要更新的字典')

查for迴圈查詢的是字典的鍵

get('鍵')#存在返回字典中鍵對應的值,不存在返回none

dic['鍵']#存在返回字典中鍵對應的值,不存在報錯

其它操作

keys---獲取字典中所有的鍵,存放在乙個高仿列表中

values--獲取字典中的所有值,存放在乙個高仿的列表中

items--獲取字典中所有鍵和值 存放在乙個高仿的列表中(元組第乙個為鍵,第二個為值)

解構a = 10

b = 20

a,b = b,a

字典的巢狀

查詢的時候一層一層通過鍵進行查詢鍵

day5 字典的基本操作

字典是python中唯一的對映型別,採用鍵值對 key value 的形式儲存資料。python對key進行雜湊函式運算,根據計算的結果決定value的儲存位址,所以字典是無序儲存的,且key必須是可雜湊的。可雜湊表示key必須是不可變型別,如 數字 字串 元組。字典 dictionary 是除列表...

python學習筆記day5 字典及字典操作

資料型別劃分 可變資料型別,不可變資料型別 不可變資料型別 元祖,bool,int,str,可哈西 可變資料型別 list,dict,set 不可哈西 dict的key 必須是不可變資料型別 dict的value 任意資料型別 dict優點 二分查詢,儲存大量關係型資料,dict特點 在3.5版本之...

5 字典型別

3.資料型別轉換 4.內建方法 優先掌握的操作 需要掌握的內建方法 作業 內用逗號分隔開多個key value 其中value可以是任意型別,但是key必須是不可變型別,且不能重複 造字典方式一 d d dict print d k1 print d 1,2,3 print type d a dic...