python--dict

字典是python中惟一的映射類型,採用鍵值對(key-value)的形式存儲數據。python

python對key進行哈希函數運算,字典是無序存儲的:數字、字符串、元組。app

列表是有序的對象結合,字典是無序的對象集合。二者之間的區別在於:字典當中的元素是經過鍵來存取的ide

數據類型分爲可變和不可變函數

可變數據類型:list   dict    setspa

不可變:bool  元祖  str   int  可哈西3d

1.dict(key,value)code

key 必須是不可變數據類型,  對象

value  能夠使任意類型blog

2.優勢:能夠二分查找去查詢 存儲大量關係型數據字符串

特色:無序,可嵌套

dic = {
    'name':['大猛','小孟'],
    'py9':[{'num':71,'avg_age':18,},
            {'num': 71, 'avg_age': 18, },
            {'num': 71, 'avg_age': 18, },
            ],
     True:1,
     (1,2,3):'wuyiyi',
     2:'二哥',
 }
 print(dic)
輸出:{True: 1, 'name': ['大猛', '小孟'], 'py9': [{'num': 71, 'avg_age': 18}, {'num': 71, 'avg_age': 18}, {'num': 71, 'avg_age': 18}], 2: '二哥', (1, 2, 3): 'wuyiyi'}

3.字典的增刪改查:

dic={'age': 18, 'name': 'jin', 'sex': 'male'}
1.pop
print(dic.pop('name'))#有返回值,經過鍵刪除,打印出刪除的值
輸出:jin
dic.popitem()#隨機刪除,元祖裏是刪除的鍵值,也有返回值
2.del
del dic #刪除字典,再打印字典會報錯
del dic['age']  刪除age鍵值對
輸出:{'sex': 'male', 'name': 'jin'}
3.clear  #清除字典內容
dic.clear()
輸出:[]
dic={'age': 18, 'name': 'jin', 'sex': 'male'}
1.經過鍵值直接賦值改
dic['age']=20
2.update
dic1={'':'朱兆筠','age':18,'name': 'jin'}
dic.update(dic1)#把dic1的內容更新覆蓋到dic
輸出:{'': '朱兆筠', 'age': 18, 'name': 'jin', 'sex': 'male'}
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',}
1.print(dic.keys())#打印全部鍵
輸出:dict_keys(['name', 'sex', 'age'])
print(dic.values())#打印全部值
輸出:dict_values([18, 'male', 'jin'])
print(dic.items())#打印全部鍵值對
輸出:dict_items([('age', 18), ('sex', 'male'), ('name', 'jin')])

2.for i in dic:  #默認輸出鍵
輸出:name
sex
age
for i in dic.keys():
輸出:name
sex
age
for i in dic.values():
輸出:18
jin
male
for k,v in dic.items():
     print(k,v)
輸出:name jin
sex male
age 18

3.經過鍵直接查,可是查不到的話就報錯
v1=dic['name']
print(v1)
輸出:jin
4、get  查不到不報錯,能夠設置返回值用這個比直接查好
dic.get('name11’,沒有這個鍵)
輸出:沒有這個鍵

4.dic 嵌套

dic = {
    'name':['alex','wusir','taibai'],
    'py9':{
        'time':'1213',
        'learn_money':19800,
        'addr':'CBD',
           },
    'age':21
}
1.把age 改爲56
dic[age]=56
輸出:{'py9': {'addr': 'CBD', 'time': '1213', 'learn_money': 19800}, 'name': ['alex', 'wusir', 'taibai'], 'age': 56}
2.在name 裏增長一個'ritina'
dic[name].append('ritina')
輸出:{'py9': {'addr': 'CBD', 'time': '1213', 'learn_money': 19800}, 'name': ['alex', 'wusir', 'taibai', '日天'], 'age': 56}
3.把name ['alex','wusir','taibai']裏alex變大寫
dic['name'][0]=dic['name'][0].upper()
4.在py9裏面添加新的鍵值對
dic['py9']['female']=6
print(dic)
相關文章
相關標籤/搜索