欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python入門之字典的使用教程

 更新時(shí)間:2022年09月06日 09:12:26   作者:胡安民-獨(dú)行者  
Python字典是一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象,如字符串、數(shù)字、元組等其他容器模型。本文將為大家詳細(xì)講講字典的使用教程,需要的可以參考一下

前沿

Python字典是一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象,如字符串、數(shù)字、元組等其他容器模型。

字典的每個(gè)鍵值key=>value對(duì)用冒號(hào) : 分割,每個(gè)對(duì)之間用逗號(hào),分割,整個(gè)字典包括在花括號(hào){}中 ,格式如下: {key1 : value1, key2 : value2 }

字典操作

創(chuàng)建字典

字典由鍵和值組成,字典中所有鍵值均要放在 大括號(hào) {} 里面,鍵與值之間通過冒號(hào) : 分割,而每一對(duì)鍵值之間則通過 逗號(hào) , 間隔起來,其格式如下:

dic1 = {"a": "天貓", 2: "京東", "c": "拼多多", "C": "PDD"}

需要注意的是,字典中的鍵必須是唯一的,同時(shí)字典的鍵必須是不可變對(duì)象,如 字符串、數(shù)字 等,而鍵對(duì)應(yīng)的值,則可以是任意數(shù)據(jù)類型。

嵌套字典

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

dict() 創(chuàng)建字段

thisdict = dict(brand="Porsche", model="911", year=1963)
# 請(qǐng)注意,關(guān)鍵字不是字符串字面量
# 請(qǐng)注意,使用了等號(hào)而不是冒號(hào)來賦值
print(thisdict)

訪問字典中的值

在字典中,我們需要通過字典的鍵來訪問其對(duì)應(yīng)的值。

通過 dict[key] 取值

    dict1 = {"name": "wintest", "age": 13}
    print(dict1["name"])

如果鍵不存在,那么取值時(shí)就會(huì)報(bào)錯(cuò):KeyError: ‘xxx’

通過 get(key) 取值

    dict1 = {"name": "wintest", "age": 13}
    print(dict1.get("name"))

如果鍵不存在,那么取值時(shí)會(huì)返回 None ,并不會(huì)報(bào)錯(cuò),這種情況下我們也可以讓其返回一個(gè)指定的值,該操作并不會(huì)影響字典的鍵值。如下:

dict1.get("name", "123")  # name鍵存如果不存在那么返回123

更新字典

通過 dict[key] 修改字典

在字典中,我們可以通過字典的鍵 dict[key] 來修改其對(duì)應(yīng)值,如果鍵不存在,那么就會(huì)把該鍵值對(duì)添加到字典中。

    dict1 = {"name": "wintest", "age": 13}
    # 如果不存在那么就是添加,如果存在那么就是修改
    dict1["xxx"] = "123"
    dict1["age"] = 66

在上面我們提到,字典中的鍵必須是唯一的,如果在創(chuàng)建字典時(shí)對(duì)同一個(gè)鍵賦值多次,那么只有最后一個(gè)值會(huì)被記住,因?yàn)閷?duì)同一個(gè)鍵多次賦值時(shí),其實(shí)就相當(dāng)于 dict[key] 對(duì)字典進(jìn)行修改。

通過 update(dict) 修改字典

字典中的 update() 方法,傳入?yún)?shù)需要是一個(gè)新字典,該操作會(huì)把新字典中的鍵值對(duì)更新到原字典中。

    dict1 = {"name": "wintest", "age": 13}
    dict2 = {"name": "hihihi", "sex": "?"}
    dict1.update(dict2)  #  把 dict2 中鍵值對(duì),更新到 dict1 中   ,存在就更新不存在就添加
    print(dict1)

刪除字典元素

通過 del 刪除字典中的鍵值對(duì)

    dict1 = {"name": "wintest", "age": 13}
    del dict1["name"]
    print(dict1)

如果被刪除的鍵不存在那么就會(huì)報(bào)錯(cuò)KeyError: ‘xxx’

通過 pop() 刪除字典中的鍵值對(duì)

    dict1 = {"name": "wintest", "age": 13}
    dict1.pop("name")
    print(dict1)
    dict1.clear() # 清空字節(jié), 只是內(nèi)容被清空了, 也就是{}
    del dict1  # 刪除整個(gè)字典,被刪除的dict1 沒法被使用了

使用 pop() 方法有一個(gè)好處,如果要?jiǎng)h除的鍵值對(duì)不存在,那么就可以設(shè)置指定返回值來避免出現(xiàn)報(bào)錯(cuò),如下:

    dict1 = {"name": "wintest", "age": 13}
    del_V=dict1.pop("xxx", "不存在的key")  # 鍵不存在,指定返回值
    print(del_V)# 不存在的key

刪除最后插入的鍵值對(duì) popitem()

car = {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}

x = car.popitem()

print(x)  # ('year', 1963)

檢查鍵是否存在

要確定字典中是否存在指定的鍵,請(qǐng)使用 in 關(guān)鍵字:

    dict1 = {"name": "wintest", "age": 13}
    print("name" in dict1) # True

字典的遍歷

字典在遍歷時(shí),也可以類似列表、集合等數(shù)據(jù)類型,通過關(guān)鍵字 in 來實(shí)現(xiàn)。

dict1 = {"name": "wintest", "age": 13}
for key in dict1:
    print(key, dict1[key])

我們也可以使用 dict1.items() ,先以列表返回一個(gè)視圖對(duì)象,然后對(duì)其遍歷時(shí),可以直接獲取到字典中的鍵和值,如下:

    dict1 = {"name": "wintest", "age": 13}
    for key, value in dict1.items():
        print(key, value)

您還可以使用 values() 函數(shù)返回字典的值:

    dict1 = {"name": "wintest", "age": 13}
    for x in dict1.values():
        print(x)

字典函數(shù)

獲取字段的長度

    dict1 = {"name": "wintest", "age": 13}
    print(len(dict1)) # 2

復(fù)制字典

您不能通過鍵入 dict2 = dict1 來復(fù)制字典,因?yàn)椋篸ict2 只是對(duì) dict1 的引用,而 dict1 中的更改也將自動(dòng)在 dict2 中進(jìn)行。 有一些方法可以進(jìn)行復(fù)制,一種方法是使用內(nèi)建的字典方法 copy()。

thisdict =    {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

制作副本的另一種方法是使用內(nèi)建方法 dict()。

thisdict =    {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

批量創(chuàng)建鍵

x = ('key1', 'key2', 'key3')

thisdict = dict.fromkeys(x,None)   

print(thisdict)  #  {'key1': None, 'key2': None, 'key3': None}

到此這篇關(guān)于Python入門之字典的使用教程的文章就介紹到這了,更多相關(guān)Python字典內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解在Anaconda環(huán)境下Python安裝pydot與graphviz的方法

    詳解在Anaconda環(huán)境下Python安裝pydot與graphviz的方法

    這篇文章主要為大家詳細(xì)介紹了在Anaconda環(huán)境中,安裝Python語言pydot與graphviz兩個(gè)模塊的方法,文中的安裝方法講解詳細(xì),感興趣?的可以了解一下
    2023-02-02
  • Pytorch參數(shù)注冊(cè)和nn.ModuleList nn.ModuleDict的問題

    Pytorch參數(shù)注冊(cè)和nn.ModuleList nn.ModuleDict的問題

    這篇文章主要介紹了Pytorch參數(shù)注冊(cè)和nn.ModuleList nn.ModuleDict的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python 列表與鏈表的區(qū)別詳解

    Python 列表與鏈表的區(qū)別詳解

    這篇文章主要介紹了Python 列表與鏈表的區(qū)別詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • django中F與Q查詢的使用

    django中F與Q查詢的使用

    一般查詢都是單條件查詢,F(xiàn)和Q是組合條件查詢,本文主要介紹了django中F與Q查詢的使用,感興趣的可以了解一下
    2021-06-06
  • python django使用haystack:全文檢索的框架(實(shí)例講解)

    python django使用haystack:全文檢索的框架(實(shí)例講解)

    下面小編就為大家?guī)硪黄猵ython django使用haystack:全文檢索的框架(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • 打包FlaskAdmin程序時(shí)關(guān)于static路徑問題的解決

    打包FlaskAdmin程序時(shí)關(guān)于static路徑問題的解決

    近期寫了個(gè)基于Flask-admin的數(shù)據(jù)庫管理程序,通過pyinstaller打包,給別人用,經(jīng)過幾次嘗試,打包的數(shù)據(jù)一直找不到static里面的樣式文件,查閱資料后,最總把問題搞定了。寫下處理流程,供后來人參考
    2021-09-09
  • 解決Python網(wǎng)頁爬蟲之中文亂碼問題

    解決Python網(wǎng)頁爬蟲之中文亂碼問題

    今天小編就為大家分享一篇解決Python網(wǎng)頁爬蟲之中文亂碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • pandas 查詢函數(shù)query的用法說明

    pandas 查詢函數(shù)query的用法說明

    這篇文章主要介紹了pandas 查詢函數(shù)query的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python實(shí)現(xiàn)的簡單猜數(shù)字游戲

    python實(shí)現(xiàn)的簡單猜數(shù)字游戲

    這篇文章主要介紹了python實(shí)現(xiàn)的簡單猜數(shù)字游戲,涉及Python操作隨機(jī)數(shù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 使用Pytorch實(shí)現(xiàn)Swish激活函數(shù)的示例詳解

    使用Pytorch實(shí)現(xiàn)Swish激活函數(shù)的示例詳解

    激活函數(shù)是人工神經(jīng)網(wǎng)絡(luò)的基本組成部分,他們將非線性引入模型,使其能夠?qū)W習(xí)數(shù)據(jù)中的復(fù)雜關(guān)系,Swish 激活函數(shù)就是此類激活函數(shù)之一,在本文中,我們將深入研究 Swish 激活函數(shù),提供數(shù)學(xué)公式,探索其相對(duì)于 ReLU 的優(yōu)勢,并使用 PyTorch 演示其實(shí)現(xiàn)
    2023-11-11

最新評(píng)論