python 字典,字典嵌套,字典遍歷


字典(Dictionary)操作詳解

字典為鍵值的形式,一個鍵對應一個值

Python字典是另一種可變容器模型,且可存儲任意類型對象,如字符串、數字、元組等其他容器模型。
一、創建字典
字典由鍵和對應值成對組成。字典也被稱作關聯數組或哈希表。基本語法如下:

1 dict = {'name': 'sunzhicheng', 'age': '20', 'sex': 'boy'}

不可變類型:整型,字符串,元組 :字典只能用不可變類型來創建

可變類型:列表,字典

字典兩大特點:

  1.鍵唯一

  2.無序

 

列表的兩種創建方法:

  1.第一種正常創建:

dic = {'name':'sunzhicheng','age':20,'sex':'boy','admin':30}
print(dic)

  2.第二種通過函數創建:每個鍵值對都用一個括號表示,多個鍵值對之間用逗號,表示,鍵值對之間也是用逗號,表示的

dic1 = dict((('name','sunzhicheng'),('age',20),('sex','boy'),('admin',20)))
print(dic1)

字典的操作:

  1.增:通過變量直接增加鍵值,通過dic增加了兩個鍵值對:'age'= 18,'sex' = 'boy'

dic = {'name':'sunzhicheng'}
dic['age'] = 18
dic['sex'] = 'boy'
print(dic)

  1.1增 setdefault方法:如果鍵存在不進行修改,如果鍵不存在,進行增加該條鍵值對

dic = {'name':'sunzhicheng'}
dic['age'] = 18
dic['sex'] = 'boy'
print(dic)
#鍵存在,不進行修改,並返回字典中的鍵對應的值。
ret = dic.setdefault('age',30)
print(dic)
print(ret)
# 鍵不存在,在字典中增加新的鍵值對,並返回鍵的值
ret1 = dic.setdefault('book',30)
print(dic)
print(ret1)
執行結果:

   2.查:通過字典的鍵去查詢要查詢的內容

ic2 = {'name':'sunzhicheng','age':20,'sex':'boy'}

print(dic2['name'])
#查詢字典里有哪些鍵keys 這個類型需要轉換成list之后才能使用
print(dic2.keys(),"沒轉換的dict_keys類型") # 查出來的鍵都純在類型是dict_keys

print(list(dic2.keys()),"轉換后的列表類型")
print(list(dic2.values()),'取到字典里所有的值')
print(list(dic2.items()),'直接獲取到鍵值對,已元組的類型拿到')

  3.改: 直接對這個值進行修改

dic3 = {'name':'sunzhicheng','age':20,'sex':'boy'}
dic3['name'] = 'zhicheng'
print(dic3,'修改鍵為name的值')

  3.1 update將另一個字典的內容付給dic3字典

dic4 = {'1':'1111','2':'2222','name':'333'}
dic3.update(dic4) # 將dic4里的內容添加到dic3里邊,如果dic3里有這個鍵就會替換之前的內容,例如鍵name這個dic3里有這個鍵dic4的name就會替換name之前的值重,將新值333給鍵name
print(dic3,'dic4的增加給了dic3')
print(dic4,'dic4沒有變化')

  4.刪: del,pop,popitem,clear

dic5 = {'name':'sunzhicheng','age':20,'sex':'boy','1':'1111','2':'2222','3':'333333'}
del dic5['age'] #刪除字典中指定鍵值對
print(dic5)

red = dic5.pop('sex')   #刪除字典中指定鍵值對並返回值
print(dic5)
print(red)  #查看返回的內容

dic5.popitem()  #隨機刪除 
print(dic5,'隨機刪除了')

dic5.clear()    #清空字典,字段存在,但是內容沒有了
print(dic5)

   5.字典嵌套

 

av_catalog = {
    '歐美':{
        'www.youporn.com':['很多免費的,世界最大','質量一般'],
        'www.pornhub.com':['很多免費的,很大','質量比youpirn高點'],
        'letmedothistoyou.com':['多事自拍,高質量圖片很多','資源不多,更新慢'],
        'x-art.com':['質量很高,真的很高','全部收費,屌絲請繞行']
    },
    '日韓':{
        'tokyo':['質量很高,個人已經不喜歡日韓范了','聽說是收費的']
    },
    '大陸':{
        '1024':['全部免費,好人一生平安','服務器在國外,慢']
    }
}
av_catalog['歐美']['www.youporn.com'][1] = '高高清清' #修改指定的值,首先找到大的字典里的鍵,然后在找到資格字典里套的這個字典的鍵,然后在找到要修改的這個內容在列表的位置。
print(av_catalog)

  6.字典排序:字典排序根據,鍵來排序

dic6 = {2:333,4:222,3:111}
print(sorted(dic6.keys()))  #按照鍵排序
print(sorted(dic6.values()))    #按照值排序
print(sorted(dic6.items())) #按照鍵排序

  7.字典遍歷

#字典遍歷的兩種方式
# for i,v in av_catalog['歐美'].items():  #打印鍵及鍵下的值
#     print(i,v)
for i in av_catalog:
    print(i,av_catalog[i])

 

 

 

 

 

 

 

#查:通過字典的鍵去查詢要查詢的內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM