拓展
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...