0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python字典是什么

python爬蟲(chóng)知識(shí)分享 ? 來(lái)源:python爬蟲(chóng)知識(shí)分享 ? 作者:python爬蟲(chóng)知識(shí)分享 ? 2022-02-23 16:54 ? 次閱讀

python字典

字典(英文名 dict),它是由一系列的鍵值(key-value)對(duì)組合而成的數(shù)據(jù)結(jié)構(gòu)。

字典中的每個(gè)鍵都與一個(gè)值相關(guān)聯(lián),其中

鍵,必須是可 hash 的值,如字符串,數(shù)值等

值,則可以是任意對(duì)象

1. 創(chuàng)建字典

創(chuàng)建一個(gè)字典有三種方法

第一種方法:先使用 dict() 創(chuàng)建空字典實(shí)例,再往實(shí)例中添加元素

>>> profile = dict(name="張三", age=18)
>>> profile
{'name': '張三', 'age': 18}

第二種方法:直接使用 {} 定義字典,并填充元素。

>>> profile = {"name": "張三", "age": 18}
>>> profile
{'name': '張三', 'age': 18}

第三種方法:使用 dict() 構(gòu)造函數(shù)可以直接從鍵值對(duì)序列里創(chuàng)建字典。

>>> info = [('name', '張三'), ('age', 18)]
>>> dict(info)
{'name': '張三', 'age': 18}

第四種方法:使用字典推導(dǎo)式,這一種對(duì)于新手來(lái)說(shuō)可能會(huì)比較難以理解,我會(huì)放在后面專(zhuān)門(mén)進(jìn)行講解,這里先作了解,新手可直接跳過(guò)。

>>> adict = {x: x**2 for x in (2, 4, 6)}
>>> adict
{2: 4, 4: 16, 6: 36}

2. 增刪改查

增刪改查:是 新增元素、刪除元素、修改元素、查看元素的簡(jiǎn)寫(xiě)。

由于,內(nèi)容比較簡(jiǎn)單,讓我們直接看演示

查看元素

查看或者訪問(wèn)元素,直接使用 dict[key] 的方式就可以

>>> profile = {"name": "張三", "age": 18}
>>> profile["name"]
'張三'

但這種方法,在 key 不存在時(shí)會(huì)報(bào) KeyValue 的異常

>>> profile = {"name": "張三", "age": 18}
>>> profile["gender"]
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'gender'

所以更好的查看獲取值的方法是使用 get() 函數(shù),當(dāng)不存在 gender 的key時(shí),默認(rèn)返回 male

>>> profile = {"name": "張三", "age": 18}
>>> profile.get("gender", "male")
'male'

新增元素

新增元素,直接使用 dict[key] = value 就可以

>>> profile = dict()
>>> profile
{}
>>> profile["name"] = "張三"
>>> profile["age"] = 18
>>> profile
{'name': '張三','age': 18}

修改元素

修改元素,直接使用 dict[key] = new_value 就可以

>>> profile = {"name": "張三", "age": 18}
>>> profile["age"] = 28
>>> profile
{'name': '張三', 'age': 28}

刪除元素

刪除元素,有三種方法

第一種方法:使用 pop 函數(shù)

>>> profile = {"name": "張三", "age": 18}
>>> profile.pop("age")
18
>>> profile
{'name': '張三'}

第二種方法:使用 del 函數(shù)

>>> profile = {"name": "張三", "age": 18}
>>> del profile["age"]
>>> profile
{'name': '張三'}

3. 重要方法

判斷key是否存在

在 Python 2 中的字典對(duì)象有一個(gè) has_key 函數(shù),可以用來(lái)判斷一個(gè) key 是否在該字典中

>>> profile = {"name": "張三", "age": 18}
>>> profile.has_key("name")
True
>>> profile.has_key("gender")
False

但是這個(gè)方法在 Python 3 中已經(jīng)取消了,原因是有一種更簡(jiǎn)單直觀的方法,那就是使用 innot in 來(lái)判斷。

>>> profile = {"name": "張三", "age": 18}
>>> "name" in profile
True
>>> "gender" in profile
False

設(shè)置默認(rèn)值

要給某個(gè) key 設(shè)置默認(rèn)值,最簡(jiǎn)單的方法

profile = {"name": "張三", "age": 18}

if "gender" not in profile:
    profile["gender"] = "male"

實(shí)際上有個(gè)更簡(jiǎn)單的方法

profile = {"name": "張三", "age": 18}
profile.setdefault("gender", "male")

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 字典
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    7688
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84070
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何運(yùn)行Python程序

    運(yùn)行Python程序非常簡(jiǎn)單。Python是一種解釋型語(yǔ)言,這意味著可以直接通過(guò)解釋器來(lái)執(zhí)行代碼。下面我將詳細(xì)介紹如何運(yùn)行Python程序。 一、安裝Python 在運(yùn)行
    的頭像 發(fā)表于 11-24 09:31 ?1003次閱讀

    python怎么運(yùn)行程序

    Python是一種廣泛使用的編程語(yǔ)言,它的簡(jiǎn)易和可讀性使得它成為初學(xué)者和專(zhuān)業(yè)開(kāi)發(fā)人員的首選。在運(yùn)行Python程序之前,您需要安裝Python解釋器,然后按照以下步驟進(jìn)行操作。 步驟1:安裝
    的頭像 發(fā)表于 11-24 09:25 ?2350次閱讀

    Python2與Python3的差異

    Python2與Python3是兩個(gè)不同的版本,它們?cè)谡Z(yǔ)法、功能和性能等方面存在一些差異。下面是對(duì)Python2和Python3的詳盡、詳實(shí)、細(xì)致的比較,分為以下幾個(gè)方面: 語(yǔ)法差異:
    的頭像 發(fā)表于 11-23 16:48 ?706次閱讀

    python中l(wèi)en()的用法

    Python中,len()是一個(gè)內(nèi)置函數(shù),用于返回容器對(duì)象(如字符串、列表、元組、字典等)中元素的個(gè)數(shù)。這個(gè)函數(shù)非常簡(jiǎn)單,但它在處理數(shù)據(jù)時(shí)非常常用和有用。本文將詳細(xì)介紹len()函數(shù)的使用,包括它
    的頭像 發(fā)表于 11-22 10:45 ?2361次閱讀

    Python將字符元素替換成數(shù)字

    Python提供了多種方法將字符元素替換成數(shù)字。在本文章中,我將詳盡、詳實(shí)、細(xì)致地介紹其中的幾種常見(jiàn)方法。 使用replace()函數(shù): replace()函數(shù)是Python字符串對(duì)象的內(nèi)置方法
    的頭像 發(fā)表于 11-22 09:48 ?786次閱讀

    python怎么定義空集合

    : my_set = {} 然而,這種方式創(chuàng)建的對(duì)象實(shí)際上是一個(gè)字典(dictionary)而不是集合(set)。因?yàn)樵?b class='flag-5'>Python中,字典和集合的字面常量都使用大括號(hào) {} 來(lái)表示,所以如果要明確
    的頭像 發(fā)表于 11-21 16:20 ?4643次閱讀

    python里item的用法

    item是Python中一個(gè)非常重要的概念,它可以用于多種數(shù)據(jù)結(jié)構(gòu)和算法的實(shí)現(xiàn)。在Python中,item通常用于表示一個(gè)集合或序列中的一個(gè)元素。本文將詳細(xì)介紹item的用法,并探討它在列表、字典
    的頭像 發(fā)表于 11-21 15:09 ?2980次閱讀

    Python減少字典對(duì)象內(nèi)存大小的方法

    Python里用字典來(lái)表示結(jié)構(gòu)信息是非常方便的: >>> ob ={ 'x' : 1 , 'y' : 2 , 'z' : 3 } >>> x = ob [ 'x' ] >>> ob [ 'y
    的頭像 發(fā)表于 11-03 15:21 ?568次閱讀

    如何利用Python和pandas來(lái)處理json數(shù)據(jù)

    在實(shí)際工作中,尤其是web數(shù)據(jù)的傳輸,我們經(jīng)常會(huì)遇到j(luò)son數(shù)據(jù)。它不像常見(jiàn)的文本數(shù)據(jù)、數(shù)值數(shù)據(jù)那樣友好,而且它和Python中的字典類(lèi)型數(shù)據(jù)又很相像,給很多人造成了困擾。 本文結(jié)合具體案例詳細(xì)介紹
    的頭像 發(fā)表于 11-01 10:59 ?1672次閱讀
    如何利用<b class='flag-5'>Python</b>和pandas來(lái)處理json數(shù)據(jù)

    Python 字典組成的數(shù)組怎么進(jìn)行去重

    你知道嗎?如果數(shù)組是字典組成的,直接對(duì)數(shù)組內(nèi)的字典采用set的方式進(jìn)行去重,會(huì)報(bào)錯(cuò): test = [{ "a" : 1}, { "a" : 1}, { "a" : 3}, { "b" : 4
    的頭像 發(fā)表于 11-01 10:55 ?401次閱讀

    Python 支持同步的推導(dǎo)式版本

    Python 廣泛地支持同步的推導(dǎo)式,允許使用簡(jiǎn)單而簡(jiǎn)潔的語(yǔ)法生成列表、字典和集合。我們提議為異步代碼實(shí)現(xiàn)類(lèi)似的語(yǔ)法結(jié)構(gòu)。 為了說(shuō)明可讀性的改善,請(qǐng)考慮下面的例子: result = [] async
    的頭像 發(fā)表于 10-31 14:37 ?226次閱讀

    關(guān)于替換原生字典munch的使用全解

    字典Python 中基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)之一,字典的使用,可以說(shuō)是非常的簡(jiǎn)單粗暴,但即便是這樣一個(gè)與世無(wú)爭(zhēng)的數(shù)據(jù)結(jié)構(gòu),仍然有很多人 "看不慣它" 。 也許你并不覺(jué)得,但我相信,你看了這篇文章后,一定
    的頭像 發(fā)表于 10-31 14:12 ?338次閱讀

    Addit:一個(gè)寫(xiě)起來(lái)令人極其舒適的字典模塊

    Addit 是一個(gè)Python模塊,除了提供標(biāo)準(zhǔn)的字典語(yǔ)法外,Addit 生成的字典的值既可以使用屬性來(lái)獲取,也可以使用屬性進(jìn)行設(shè)置。 這意味著你 不用 再寫(xiě)這樣的字典了: body
    的頭像 發(fā)表于 10-30 09:56 ?448次閱讀

    Addict:一個(gè)寫(xiě)起來(lái)令人極其舒適的字典模塊

    Addit 是一個(gè)Python模塊,除了提供標(biāo)準(zhǔn)的字典語(yǔ)法外,Addit 生成的字典的值既可以使用屬性來(lái)獲取,也可以使用屬性進(jìn)行設(shè)置。 這意味著你 不用 再寫(xiě)這樣的字典了: body
    的頭像 發(fā)表于 10-21 14:24 ?382次閱讀

    Python字典組成的數(shù)組怎么進(jìn)行去重

    你知道嗎?如果數(shù)組是字典組成的,直接對(duì)數(shù)組內(nèi)的字典采用set的方式進(jìn)行去重,會(huì)報(bào)錯(cuò): test = [{ "a" : 1}, { "a" : 1}, { "a" : 3}, { "b" : 4
    的頭像 發(fā)表于 10-17 11:26 ?386次閱讀