1.字典
# 基礎資料型別 # bool int float str list tuple dict set # list dict set 可變資料型別 # bool int float str tuple 不可變資料型別 # 1.字典 dict # dict_data=https://www.cnblogs.com/qc2012/p/{key: value, key1: value1} # 1,符號以大括號表示 # 2,資料是以鍵值對出現的 鍵值中間用冒號連接 # 3,key的值必須是不可變型別,key是唯一的 print('1.字典') # 定義一個空字典 dict_data =https://www.cnblogs.com/qc2012/p/ {} print(dict_data) print(type(dict_data)) # 定義一個有資料的字典 # key是不可變資料型別 # value可以是任何資料型別 # key值重復時,后面的鍵值對會覆寫前面的鍵值對 dict_data = https://www.cnblogs.com/qc2012/p/{'小明': 20, '小明': 18} print(dict_data) # 字典是沒有索引的 無序的 # 因為沒有索引,所以才沒有順序 # 字典可以根據key獲取value dict_data = https://www.cnblogs.com/qc2012/p/{'小明': 20, '小芳': {'age': 18, 'gender': '女'}} print(dict_data['小芳']) # 2.字典增加資料 print() print('2.字典增加資料') dict_data = {'小明': 20} dict_data['小芳'] = 18 print(dict_data) # 3.字典修改資料 # 原理:相當于增加資料,但是key值重復 # key值重復時,后面的鍵值對會覆寫前面的鍵值對 print() print('3.字典修改資料') dict_data = {'小明': 20} dict_data['小明'] = {'age': 18, 'gender': '女'} print(dict_data) # 增加與修改的區分 # 當資料不存在就增加 當資料存在就是修改 # 4.字典洗掉資料 print() print('4.字典洗掉資料') dict_data = {'小明': 20} del dict_data['小明'] print(dict_data)

2.字典的操作方法
(1)壓縮和解包
# 壓縮 # 當多個資料賦值給一個變數時,會默認為元組 # 壓縮多個資料到一個變數里面,以元組的形式存盤 print() print('壓縮和解包') a = 'name', 18 # 元組 print(a) # ('name', 18) # 解包 name, age = a print(name, age) # 解包
(2)get()
# get(key,None) # 獲取一個資料,如果存在就回傳對應的value 不存在就回傳None # None 是可以改變的,當不存在是回傳這個位置的資料,默認為None print() print('get()') dict_data = {'小明': 20} print(dict_data.get('小明')) # 20 print(dict_data.get('666')) # None print(dict_data.get('666', False)) # False print(dict_data.get('666', 555)) # 555

(3)pop()和popitem()
# pop() # 洗掉指定key的資料 print() print('pop()') dict_data = {'小明': 20} dict_data.pop('小明') # 洗掉指定key的資料 print(dict_data) # popitem() # 洗掉字典的最后一個資料 print() print('popitem()') dict_data = {'小剛': 15, '小明': 20, '小芳': 18} dict_data.popitem() print(dict_data)

(4)update()
# update(字典) 更新 # 相當于串列的extend() print() print('update()') dict_data = {'小剛': 15, '小明': 20} dict_data.update({'小芳': 18}) # 小括號里面是字典! print(dict_data)

(5)keys() values() items()
# keys() # 獲取字典中的所有key 并存放到一個dict_keys物件里面 print() print('keys()') dict_data = {'小剛': 15, '小明': 20} print(dict_data.keys()) print(type(dict_data.keys())) print(list(dict_data.keys())) # 可以強轉為串列 for i in dict_data.keys(): print(i) # values() # 獲取字典中的所有value print() print('values()') dict_data = {'小剛': 16, '小明': 20} print(dict_data.values()) print(type(dict_data.values())) print(list(dict_data.values())) # 可以強轉為串列 for i in dict_data.values(): print(i) # items() print() print('items()') dict_data = {'小剛': 18, '小明': 20} print(dict_data.items()) print(type(dict_data.items())) print(list(dict_data.items())) # 可以強轉為串列 for i in dict_data.items(): print(i) print(list(i)) # 強轉為串列 for i in dict_data.items(): print(i[0], i[1]) for name, age in dict_data.items(): # 解包 print(name, age)

3.集合
# 集合 set # set_data = https://www.cnblogs.com/qc2012/p/{資料,資料,資料,...} # 集合是無序的,唯一的(資料不能重復) # 集合沒有索引和key # '' [] {} () 定義空的資料 # str() list() dict() tuple() # 定義一個空的集合 set_data =https://www.cnblogs.com/qc2012/p/ set() print(type(set_data)) print(set_data) # 無序的 print() set_data1 = {100, 200, 300} print(set_data1) # 是無序的! # 唯一的 # 可以去除重復的資料 print() set_data = {1, 2, 3, 4} print(set_data) # {1, 2, 3, 4} set_data = https://www.cnblogs.com/qc2012/p/{1, 2, 3, 4, 4} print(set_data) # {1, 2, 3, 4} 和上一個一樣 # add() 增加資料 print() set_data = {1, 2, 3, 4} set_data.add(100) print(set_data) # remove() 洗掉資料 print() set_data = {1, 2, 3, 4} set_data.remove(2) # 洗掉資料2 print(set_data)

4.今日作業
# 今日作業 """ 本次考試張三59分,李四80, 王五99分,小宋56分, 請使用字典來表達此資料結構, 并篩選出來不及格的同學及分數 """ print('今日作業') name_score = {'張三': 59, '李四': 80, '王五': 99, '小宋': 56} # 創建字典存盤資料 for name, score in name_score.items(): # 解包 if score < 60: # 判斷是否不及格 print(name, score)

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538343.html
標籤:Python
上一篇:執行緒鎖在單例模式中的應用
