七丶Python字典

2022-08-24 06:06:13 字數 3629 閱讀 7261

花括號法:花括號應包含多組key-value對,key-value之間用英文的冒號隔開;多組key-value對之間使用英文逗號隔開

#字典中key和value一一對應,key都是獨一無二的不可以相同,value可以多個相同

scores =

print(scores)

dict構造器:可以傳入多個列表或元組引數作為key-value對;也可以為dict指定關鍵字引數建立字典,此時字典的key不允許使用表示式

#使用dict建立字典時,列表/序列中的每個元素必須包含兩個子元素如下,如若子元素個數不為2,則字典建立失敗,返回'valueerror: dictionary update sequence element #3 has length 3; 2 is required'

dicta = dict([('小學',7),('初中',13),('高中',16),('大學',19)])

print(dicta)

#使用關鍵字引數建立字典(dict)時,不能使用表示式

dictb = dict(小學=7,初中=13,高中=16,大學=19)

print(dictb)

字典的key是不可變的,因此列表不能作為dict的key

#字典中通過key訪問value

dictb = dict(小學=7,初中=13,高中=16,大學=19)

print(dictb['高中'])

#字典元素的新增

dictb = dict(小學=7,初中=13,高中=16,大學=19)

dictb['社會實踐'] = 'forever'

print(dictb)

#字典元素替換

dictb = dict(小學=7,初中=13,高中=16,大學=19)

dictb['高中'] = 'forever'

print(dictb)

#字典元素的刪除

dictb = dict(小學=7,初中=13,高中=16,大學=19)

del dictb['高中']

print(dictb)

#字典元素的刪除

dictb = dict(小學=7,初中=13,高中=16,大學=19)

del dictb['高中']

dictb['大學'] = none

print(dictb)

del dictb['大學']

print(dictb)

#使用in 、not in判斷元素是否再字典內

dictb = dict(小學=7,初中=13,高中=16,大學=19)

print('小學' in dictb) #返回true 說明'小學'在dictb中

print('初中' not in dictb) ##返回false 說明'小學'在dictb中

# 總結:

字典(dict)和列表(list)都是可變的,都可以對內部元素進行增加、刪除、修改的操作

但是因為字典的key是不可變的,所以列表(list)不能直接賦值於key

#clear()清空字典內所有key-value,被清空的字典就是乙個空字典返回'{}'

scores =

scores.clear()

print(scores)

#get()根據key來獲取value值

scores =

print(scores.get('數學'))

#使用update()方法,用乙個新的字典去更新另乙個已有的字典

scores =

scores_a =

scores_b = [('歷史',98),('自然',75),('python',100)]

scores_c = dict(彭同學=88,雷同學=79,李同學=90) #注意使用關鍵字定義字典時,括號內不允許有表示式(key不需要引號)

scores.update(scores_a)

print(scores)

#更新目標.update(使用物件)

scores_a.update(scores_b)

print(scores_a)

#若字典使用序列作為引數,此時序列的每個元素必須包含兩個子元素,第乙個是key,第二個是value

scores_temp = dict(scores_b) #先將列表轉為字典

scores_temp.update(scores_c) #再使用scores_c,來更新這個轉化好的字典

print(scores_temp)

#注意使用關鍵字定義字典時,括號內不允許有表示式(key不需要引號)

#使用items()、keys()、values()分別遍歷字典中的所有元素(每個元素包含乙個key,乙個value)、遍歷字典中的所有key(只遍歷key)、遍歷所有value(只遍歷value)

scores =

for key in scores.keys():

print(key)

for value in scores.values():

print(value)

for item in scores.items(): #liems這裡面使用到了序列的解包

print(item)

#使用pop()方法獲取並刪除key對應的value(刪除並返回key對應的value值)

scores =

return1 = scores.pop('地理')

print(scores)

print(return1)

#使用setdefault()方法獲取對應key的value值,如果key不存在,則新增乙個key到字典中並設定value為none

scores =

a = scores.setdefault('數學')

print(a)

scores.setdefault('生物')

print(scores)

#使用formkeys()轉化序列為字典

d = dict.fromkeys(['rng','ig','blg','lng'],35) #dict.fromkeys(序列,value預設值) = newscores

print(d)

#使用字典格式化字串

str1 ="今年是%4.0f年""我在學習%s"

print(str1%(2019,'python')) #普通的格式化字串

str2 = "今年是%(nian)4.0f年""我在學習%(name)s" #字典格式化字串

print(str2 % )

總結:

兩種字元格式化原理其時是一樣的,不同的時第一種是根據字元的先後位置來填充字串;而字典格式化字串則是根據設定好的key來指定對應的value

一丶Python簡介

本節目標 學習了解python語言在當今社會的現狀及其未來的發展前景,及對本次課程的總體介紹 本章作為學習筆記記錄學習狀態 python具有如下兩個特徵 python區分大小寫 識別符號可以有字母 數字 下劃線 組成,其中不能使用數字開頭 識別符號不能是python關鍵字,但可以包含關鍵字 識別符號...

六丶Python列表操作

extend 方法用於追加另乙個列表 序列 他會將列表 序列 中的元素拆分後追加進來 insert 方法將元素插入列表指定位置 列表元素的新增 list1 吸油糖 houdini vfx list2 1,3,5,7,9 list3 3 list4 4 list5 5 print list3 list...

四丶Python運算子

x y,即對應與x x y x y,即對應與x x y x y,即對應與x xy x y,即對應與x x y x y,即對應與x x y x y,即對應與x x y x y,即對應與x x y 大於 大於或等於 小於 小於或等於 等於 不等於 is is not 判斷兩個變數引用的物件是否相同 不相...