日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python09 字典

發布時間:2025/3/21 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python09 字典 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字典包含了key和value

其中key是不可變的,value隸屬于key是可以變的

字典是無序的,字典沒有下標,通過key來尋找value

test = {'A':1,'B':'zhangsan','C':'lisi'} print (test)

  • 查找
test = {'A':1,'B':'zhangsan','C':'lisi'}print (test['B'])


可以通過key、來查找值

print(test.get('C')) print(test.get('F'))


通過get來查找,有就打印value,沒有就打印None
使用get是一個比較安全的查找方式,如果查不到會返回None值,這樣執行代碼不會報錯

print ('C' in test) #這個類似python2.X中的test.has_key('C'),python3中已經沒有has_key了

print (test.keys()) print (test.values())


查找所有key和查找所有value

  • 修改
test = {'A':1,'B':'zhangsan','C':'lisi'}test ['C']=33 test ['D']=44print(test)


根據key修改value ,存在則修改,不存在則新增

test1 = {'A':{'AA':111},'B':222} test2 = {'B':123,'C':333}test1.update(test2) print (test1)


將兩個字典合并,已存在的key會被覆蓋,沒有則新增

test1 = {'A':{'AA':111},'B':222} print (test1.items())


將字典轉成列表

  • 刪除
test = {'A':1,'B':'zhangsan','C':'lisi'}del test['A']print (test)

print(test.pop('B')) #pop刪除并返回刪除的內容


使用pop刪除后,會返回刪除的值

test = {'A':1,'B':'zhangsan','C':'lisi','D':4,'E':5} test.popitem() print (test)


使用popitem會隨機刪除一個(好像刪除的是最后一個)

  • 多級字典
test = {'A':{'AA':[123,456]}} #三級嵌套,本實例是兩個字典,一個列表print (test)

test['A']['AA'][13]=789 print (test)

  • setdefault

    test = {'A':1,'B':2,'C':3} test.setdefault('C',{'CCC':333}) test.setdefault('D',{'DDD':444}) print (test)


    setdefault到字典中獲取key的值并返回,如果沒有則新增

  • fromekeys a = dict.fromkeys(['A','B','C']) print(a)


    創建一個新的字典,然后批量創建字典的key,默認value為None,可以修改None,通過批量建立key,這樣減少了一半建立字典的工作量。

test = {'A':1,'B':2,'C':3} a = test.fromkeys(['AA','BB','CC']) print (a)


將現有的字典給修改了

test = {'A':1,'B':2,'C':3} a = test.fromkeys(['AA','BB','CC'],'123') print (a)


可以批量賦予key的value

print (test)


其實可以看到test并沒有改變,也就是說fromkeys不會改變現有的字典
fromkeys只會初始化一個新的字典

a = dict.fromkeys(['A','B','C'],[111,{'name':'aubrey'},222]) print(a)


批量為字典key A、B、C賦值[111,{'name':'aubrey'},222]

a['C'][1]['name']='Peter' #修改A字典C這個key的value print(a)


但實際看到的是,所有key的value都被修改了
這是因為當使用fromkeys,設置多級字典時,value使用的是同一個內存地址,所以當修改一個的時候,其他也就都被修改了。

  • 循環
test = {'A':1,'B':2,'C':3} for i in test:print (i,test[i]) 、#打印的第一個i是循環只是將所有key賦值給i,所以在打印第一個i的時候,僅僅打印的是這個i的賦值,并不是字典;但是打印的第二個test[i]就是打印字典了,和你直接使用print test['A']是一樣的,只不過這里將A、B、C這三個key對飲的值都打印了一遍


循環打印字典

for k,v in test.items(): #.items將字典變成列表,也就是['A',1],k對應的這個A,v對應這個1,然后就這樣賦值循環;這種方式沒有上面的好,因為需要不斷的將字變成程列表,再去循環 print(k,v)

轉載于:https://blog.51cto.com/daimalaobing/2046481

總結

以上是生活随笔為你收集整理的Python09 字典的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。