最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中字典的基礎(chǔ)知識(shí)歸納小結(jié)

 更新時(shí)間:2015年08月19日 08:57:40   作者:一路向北  
這篇文章主要介紹了Python中字典的基礎(chǔ)知識(shí)歸納小結(jié),都是Python入門學(xué)習(xí)中的基本知識(shí),值得反復(fù)鞏固:)需要的朋友可以參考下

定義一個(gè)字典

>>> d = {"server":"mpilgrim", "database":"master"} 1
>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["server"]         2
'mpilgrim'
>>> d["database"]         3
'master'
>>> d["mpilgrim"]         4

Traceback (innermost last):
  File "<interactive input>", line 1, in ?
KeyError: mpilgrim

首先,我們創(chuàng)建了一個(gè)擁有兩個(gè)元素的新字典,并將其賦值給變量 d。每一個(gè)元素都是一個(gè)鍵-值對(duì),整個(gè)元素集合用大括號(hào)括起來(lái)。
server 是一個(gè)鍵字,它所關(guān)聯(lián)的值為 mpilgrim,用 d["server"] 來(lái)引用。
database 是一個(gè)鍵字,它所關(guān)聯(lián)的值為 master,用 d["database"] 來(lái)引用。
 

你可以通過(guò)鍵字來(lái)得到值,但是不能通過(guò)值得到鍵字。所以 d["server"] 為 mpilgrim,但是使用 d["mpilgrim"] 會(huì)引發(fā)一個(gè)異常,因?yàn)?mpilgrim 不是一個(gè)鍵字。

修改一個(gè)字典

>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["database"] = "pubs" 1
>>> d
{'server': 'mpilgrim', 'database': 'pubs'}
>>> d["uid"] = "sa"  2
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}

不能在一個(gè)字典中有重復(fù)的鍵字。給一個(gè)存在的鍵字賦值會(huì)抹掉原來(lái)的值。

可以在任何時(shí)候加入新的鍵-值對(duì)。這種語(yǔ)法同修改存在的值一樣。(是的,它可能某天會(huì)給你帶來(lái)麻煩,你可能認(rèn)為增加了新值,但實(shí)際上只是反復(fù)地修改了同樣的值,因?yàn)槟愕逆I字沒有按照你的想象改變。)

注意新的元素(鍵字為 uid,值為 sa)出現(xiàn)在字典中間。實(shí)際上,它只不過(guò)是一種巧合,在第一個(gè)例子中的元素看上去是有序的?,F(xiàn)在它們看上去無(wú)序了則更是一種巧合。

Note

字典沒有元素順序的概念。說(shuō)元素順序亂了是不正確的,它們只是簡(jiǎn)單的無(wú)序。這是一個(gè)重要的特性,它會(huì)在你想要以一種特定的,可重復(fù)的順序(象以鍵字的字母表順序)存取字典元素的時(shí)候騷擾你。有一些實(shí)現(xiàn)的方法,它們只是沒有加到字典中去。

在字典中混用數(shù)據(jù)類型

>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
>>> d["retrycount"] = 3 1
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3}
>>> d[42] = "douglas" 2
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}

字典不是只用于字符串。字典的值可以是任意數(shù)據(jù)類型,包括字符串,整數(shù),對(duì)象,或者甚至其它的字典。在一個(gè)單個(gè)字典里,字典的值并不需要全都是同一數(shù)據(jù)類型,可以根據(jù)需要混用和配匹。
字典的關(guān)鍵字要嚴(yán)格一些,但是它們可以是字符串,整數(shù)和幾種其它的類型(后面還會(huì)談到這一點(diǎn))。也可以在一個(gè)字典中混用和配匹關(guān)鍵字。

從字典中刪除元素

>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
>>> del d[42] 1
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3}
>>> d.clear() 2
>>> d
{}

del 允許你根據(jù)鍵字將單個(gè)元素從字典中刪除。
clear 會(huì)刪除一個(gè)字典中所有元素。注意空的大括號(hào)所表示的集合說(shuō)明一個(gè)字典沒有元素。

字符串是大小寫敏感

>>> d = {}
>>> d["key"] = "value"
>>> d["key"] = "other value" 1
>>> d
{'key': 'other value'}
>>> d["Key"] = "third value" 2
>>> d
{'Key': 'third value', 'key': 'other value'}

將一個(gè)值賦給一個(gè)存在的字典關(guān)鍵字只是簡(jiǎn)單的用新值替換舊值。

這樣做不會(huì)將一個(gè)值賦給一個(gè)存在的字典關(guān)鍵字,因?yàn)樵赑ython中字符串是大小寫敏感的,所以 'key' 與 'Key' 是不同的。這樣就在字典中生成了一個(gè)新的鍵/值對(duì)。對(duì)你來(lái)說(shuō)可能差不多,但對(duì)于Python來(lái)說(shuō),完全是不同的。

如何訪問(wèn)字典中的值:

>>> dict2 = {'name':'earth','port':80}  

>>> for key in dict2.keys():     

... print 'key=%s,value=%s' %(key,dict2[key])

...

key=name,value=earth

key=port,value=80


>>> for key in dict2:       

... print 'key=%s,value=%s' %(key,dict2[key])

...

key=name,value=earth

key=port,value=80


獲取字典某個(gè)元素值:

>>> dict2['name']

'earth'

>>> print 'host %s is running on port %d' %(dict2['name'],dict2['port'])

host earth is running on port 80


檢查字典中是否有某個(gè)鍵的方法 has_key()或in,not in

>>> 'name' in dict2

True

>>> 'server' in dict2

False

>>> 'name' in dict2 

True

>>> dict2['name']

'earth'

>>> dict2.has_key('server')

False

>>> dict2.has_key('name') 

True


一個(gè)字典中混用數(shù)字和字符串的例子:

>>> dict3 = {}

>>> dict3[1] = 'abc'

>>> dict3['1'] = 3.14159

>>> dict3[3.2] = 'xyz'

>>> dict3

{'1': 3.14159, 1: 'abc', 3.2: 'xyz'}


整體賦值:

>>> dict3 = {'1': 3.14159, 1: 'abc', 3.2: 'xyz',33:'hehe'}

>>> dict3

{'1': 3.14159, 1: 'abc', 3.2: 'xyz', 33: 'hehe'}


更新字典:

>>> dict2['name'] = 'venus'

>>> dict2['port'] = 6969

>>> dict2['arch'] = 'sunos5'

>>> print 'host %(name)s is running on port %(port)d' %dict2

host venus is running on port 6969


刪除字典元素和字典

>>> dict2

{'arch': 'sunos5', 'name': 'venus', 'port': 6969}

>>> del dict2['name']

>>> dict2

{'arch': 'sunos5', 'port': 6969}

>>> dict2.clear()

>>> dict2

{}

>>> del dict2

>>> dict2

Traceback (most recent call last):

 File "<stdin>", line 1, in <module>

NameError: name 'dict2' is not defined

>>> dict3

{'1': 3.14159, 1: 'abc', 3.2: 'xyz', 33: 'hehe'}

>>> dict3.pop(33) 

'hehe'

>>> dict3

{'1': 3.14159, 1: 'abc', 3.2: 'xyz'}


注:避免使用內(nèi)建對(duì)象名字作為變量的標(biāo)識(shí)符

類似: dict,list,file,bool,str,input,len

相關(guān)文章

  • calendar在python3時(shí)間中常用函數(shù)舉例詳解

    calendar在python3時(shí)間中常用函數(shù)舉例詳解

    這篇文章主要介紹了calendar在python3時(shí)間中常用函數(shù)的相關(guān)文章,對(duì)此知識(shí)點(diǎn)有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • Python面向?qū)ο缶幊蘲epr方法示例詳解

    Python面向?qū)ο缶幊蘲epr方法示例詳解

    這篇文章主要介紹了Python面向?qū)ο缶幊蘲epr方法的示例詳解,文中附含詳細(xì)的代碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • python多任務(wù)及返回值的處理方法

    python多任務(wù)及返回值的處理方法

    今天小編就為大家分享一篇python多任務(wù)及返回值的處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建類的方法分析

    python實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建類的方法分析

    這篇文章主要介紹了python實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建類的方法,結(jié)合實(shí)例形式分析了Python動(dòng)態(tài)創(chuàng)建類的原理、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Python標(biāo)準(zhǔn)模塊--ContextManager上下文管理器的具體用法

    Python標(biāo)準(zhǔn)模塊--ContextManager上下文管理器的具體用法

    本篇文章主要介紹了Python標(biāo)準(zhǔn)模塊--ContextManager的具體用法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • python批量創(chuàng)建指定名稱的文件夾

    python批量創(chuàng)建指定名稱的文件夾

    這篇文章主要為大家詳細(xì)介紹了python批量創(chuàng)建指定名稱的文件夾,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Pytorch如何指定device(cuda or cpu)

    Pytorch如何指定device(cuda or cpu)

    這篇文章主要介紹了Pytorch如何指定device(cuda or cpu)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Django框架自定義session處理操作示例

    Django框架自定義session處理操作示例

    這篇文章主要介紹了Django框架自定義session處理操作,結(jié)合實(shí)例形式分析了Django框架session操作的原理以及基于session的登陸、驗(yàn)證等相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • vue.js刷新當(dāng)前頁(yè)面的實(shí)例講解

    vue.js刷新當(dāng)前頁(yè)面的實(shí)例講解

    在本篇文章里小編給各位分享了一篇關(guān)于vue.js刷新當(dāng)前頁(yè)面的實(shí)例講解,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-12-12
  • python中sets模塊的用法實(shí)例

    python中sets模塊的用法實(shí)例

    這篇文章主要介紹了python中sets模塊的用法實(shí)例,該模塊用來(lái)處理集合類型的數(shù)據(jù),在這個(gè)模塊中提供了兩個(gè)集合類:Set(可變集合)和ImmurableSet(不可變集合),本文實(shí)例主要分析了Set(可變集合)的用法,需要的朋友可以參考下
    2014-09-09

最新評(píng)論

温州市| 老河口市| 哈密市| 普安县| 白朗县| 兴宁市| 康保县| 兴宁市| 沈阳市| 榆中县| 仙桃市| 祥云县| 六安市| 古丈县| 宕昌县| 华安县| 沙洋县| 封开县| 都匀市| 夏河县| 咸阳市| 兰溪市| 潮州市| 岗巴县| 重庆市| 临城县| 台州市| 青田县| 巴林右旗| 玛曲县| 鹤庆县| 临澧县| 莲花县| 淮北市| 泾源县| 潮安县| 栾川县| 安新县| 宜宾市| 乌拉特前旗| 大足县|