字典: key值經過哈希函數的運算的結果決定value存放的地址,且key值是由不可變數組成。value可以是任何python的對象。 字典基本操作 增 查 刪 排 ...
字典:
d = {key1 : value1, key2 : value2 }
key值經過哈希函數的運算的結果決定value存放的地址,且key值是由不可變數組成。value可以是任何python的對象。
字典基本操作 增
dic1={'name':'xiaoyi'} dic1['age']=22 #增加一個 print(dic1) # {'name': 'xiaoyi', 'age': 22} 如果鍵已存在就可以起到修改字典作用 dic1={'name':'xiaoyi'} dic1['name']=22 print(dic1) # {'name': 22} 通過 setdefault添加鍵值對,可返回相應值 yo=dic1.setdefault('hobby','yoyo') print(dic1,yo) # {'name': 'xiaoyi', 'hobby': 'yoyo'} yoyo setdefault存在不會改動原字典,返回值為原字典鍵對應值 dic1={'name':'xiaoyi'} # aiyo=dic1.setdefault('name','yoyo') aiyo=dic1.setdefault('aihao','yoyo') print(dic1,aiyo) # {'name': 'xiaoyi'} xiaoyi {'name': 'xiaoyi', 'aihao': 'yoyo'} yoyo
查
查詢 dic1={'name': 'xiaoyi', 'aihao': 'yoyo','fruit':'apple'} print(dic1['name']) #查鍵 print(dic1.keys()) #查鍵(轉換成列表) print(list(dic1.keys())) #查值 print(list(dic1.values())) #鍵值全都取出 print(list(dic1.items()))
改
dic1={'name': 'xiaoyi', 'aihao': 'yoyo','fruit':'apple'} dic1['aihao']='tuzi' print(dic1) #update類似於列表中extend這是字典間添加相同的會覆蓋 dic2={'haolei':'yo','fruit':'apple','jitang':'aaaa'} dic1.update(dic2) print(dic1) print(dic2)
刪
del.clear.pop刪除類比列表 dic1={'name': 'xiaoyi', 'aihao': 'yoyo','fruit':'apple'} del dic1['name'] print(dic1) dd=dic1.pop('fruit')#也會有返回value print(dic1) print(dd) dic1.clear() print(dic1) del dic1 #刪除整個字典 隨機刪除 dic1={'name': 'xiaoyi', 'fruit':'apple','aihao': 'yoyo'} aiya=dic1.popitem() #返回值為元組形式 print(aiya,dic1)
排
dic1={5: 'xiaoyi', 2:'zpple',7: 'aoyo'} print(sorted(dic1))#可見預設按照key值進行排序,返回值為key值 print(sorted(dic1.values()))#也使用value值排序,返回值value值 print(sorted(dic1.items()))#按照key值排序,返回值為列表的形式 [2, 5, 7] ['aoyo', 'xiaoyi', 'zpple'] [(2, 'zpple'), (5, 'xiaoyi'), (7, 'aoyo')]
歷
dic1={'name': 'xiaoyi', 'fruit':'apple','aihao': 'yoyo'} for x in dic1:#預設是列印鍵,也可按照值列印.values(), print(x) #還有可以整個列印.items(). for x,v in dic1.items():#和enumerate一樣 print(x,v) for x in dic1: print(x,dic1[x])#直接用鍵取value值