# 1.字典 存盤資料 存盤一個資料的屬性 可以快速進行查找 # dict_data = https://www.cnblogs.com/qc2012/archive/2022/11/08/{key:value,key:value,...} # key是鍵 # value是值 # 以大括號表示 # 資料是以鍵值對出現的 鍵值對中間用冒號連接 # key的值必須是不可變型別 # 字典和串列和集合是可變型別 print('1.字典') dict_data = {} # 創建一個空的字典 print(dict_data) print(type(dict_data)) dict_data = {'小明': [20, 186], '小芳': 18} print(dict_data) # 2.字典的操作 增刪查改 print() print('2.字典的操作,增刪查改') # 2.1 增加 # 字典是沒有索引的 # 所以字典內是沒有順序的 # key是不能重復的 print() print('2.1 增加') dict_data = {'小明': [20, 186], '小芳': 18} dict_data['小雨'] = 22 # 無指定的key則增加 print(dict_data) # 2.2 修改 print() print('2.2 修改') dict_data['小芳'] = 66 # 有指定的key則修改 print(dict_data) # 2.3 洗掉 print() print('2.3 洗掉') # del clear pop(key) dict_data1 = {'小明': 20, '小芳': 18, '小剛': 16} # del dict_data1 # 洗掉字典 # print(dict_data1) # 會報錯,顯示變數dict_data1沒定義 # del dict_data1['小明1'] # 洗掉字典中沒有的資料會報錯 # print(dict_data1) del dict_data1['小明'] # 洗掉指定的資料 print(dict_data1) dict_data1.clear() # 清空字典 print(dict_data1) dict_data1 = {'小明': 20, '小芳': 18, '小剛': 16} print(dict_data1.pop('小明')) # 回傳被洗掉key所對應的value print(dict_data1) dict_data1 = {'小明': 20, '小芳': 18, '小剛': 16} dict_data1.popitem() # 默認洗掉最后一個 print(dict_data1) # 2.4 查看 # key keys values items print() print('2.4 查看') dict_data1 = {'小明': 20, '小芳': 18, '小剛': 16} print(dict_data1['小芳']) # key print(dict_data1.get('小芳666')) # 找到則回傳value,沒找到則回傳None print(dict_data1.setdefault('小李', 222)) # 找到則回傳value,沒找到則回傳本行的222同時將資料加入到字典中 print(dict_data1) # 輸出可以看到加入了上一行的資料 dict_data1 = {'小明': 20, '小芳': 18, '小剛': 16} print(dict_data1.keys()) # 回傳字典中的所有key 回傳的是一個序列 print(list(dict_data1.keys())) # 強轉為串列 print(tuple(dict_data1.keys())) # 強轉為元組 dict_data1 = {'小明': 20, '小芳': 18, '小剛': 16} print(dict_data1.values()) # 回傳字典中的所有value 回傳的是一個序列 print(type(dict_data1.values())) print(dict_data1.items()) # 回傳字典中的key和value 回傳的是序列 # 3.字典的遍歷回圈 print() print('3.字典的便利回圈') dict_data1 = {'小明': 20, '小芳': 18, '小剛': 16} for i in dict_data1.keys(): # 輸出每一個key print(i) print() for i in dict_data1.values(): # 輸出每一個values print(i) print() for i in dict_data1.items(): print(i) # 輸出的是元組 print(i[0], i[1]) print() for key, value in dict_data1.items(): # 拆包寫法 print(key, value) # 4.集合 set # 沒有索引 沒有順序 資料不能重復! # {資料1,資料2,資料3... } print() print('4.集合') set_data = {} # 這是一個空的字典 print(type(set_data)) set_data = set() # 創建一個空的集合 print(type(set_data)) set_data = {1, 2, 3, 4} print(set_data) print(type(set_data)) set_data1 = {1, 2, 3, 4, 6, 2, 1, 1, 3, } # 集合可以去重復 print(set_data1) # 5.集合的查找 # in # not in print() print('5.集合的查找') set_data = {1, 2, 3, 4} print(1 in set_data) print(2 not in set_data) # 6.集合的增加 # add() # update print() print('6.集合的增加') set_data = {1, 2, 3, 4} set_data.add(0) # 添加的資料必須是一個不可變型別 set_data.add(1) # 重復的不會加入 print(set_data) set_data = {1, 2, 3, 4} set_data.update([0, 1, 2, 3, 4, 5, 6]) # 拆開增加 print(set_data) # 7.集合的洗掉 # remove # discard print() print('7.集合的洗掉') data = {200, 100, 300} data.remove(200) # 有這個資料就是洗掉,沒有就報錯 print(data) data = {200, 100, 300} data.discard(201) # 有這個資料就洗掉,沒有就跳過 print(data) # 今日練習 ''' 今天進行了數學考試, 本次考試中小明58分,小芳80分,小剛99分,小雨46分 (1)請用字典來表達此資料結構 (2)篩選出不及格的同學并且列印他的名稱和份數 ''' print() print('今日練習') name_score = {'小明': 58, '小芳': 80, '小剛': 99, '小雨': 46} # 使用字典存盤學生姓名和成績 for name, score in name_score.items(): # 拆包寫法 if score < 60: # 如果成績不及格 print(name, score) # 則列印名字和成績




轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529889.html
標籤:其他
上一篇:Python分析并繪制可視化動態地圖,實時查詢全球疫情資料(11月最新...)
下一篇:淺談PHP設計模式的代理模式
