花括號法:花括號應包含多組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 判斷兩個變數引用的物件是否相同 不相...