国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Python學(xué)習(xí)總結(jié)之四--這就是Python的字典

2019-11-14 17:10:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

字典原來(lái)是這么回事兒

Python學(xué)習(xí)到現(xiàn)在,我們已經(jīng)知道,如果想將值分組到結(jié)構(gòu)中,并且通過編號(hào)對(duì)其進(jìn)行引用,列表就可以派上用場(chǎng)。不過,今天,我們將學(xué)到一種通過名字引用值的數(shù)據(jù)結(jié)構(gòu),應(yīng)該知道這種數(shù)據(jù)類型叫做映射。字典則是Python中唯一內(nèi)建的映射類型,那么我們就來(lái)學(xué)習(xí)字典。

認(rèn)識(shí)字典

字典是可變的,并且可以存儲(chǔ)任意數(shù)量的Python對(duì)象。下面這個(gè)例子就是簡(jiǎn)單的字典類型:

1 phonebook={'zhangsan':'12345','lisi':'54321'}2 PRint phonebook

 

 

字典由多個(gè)鍵及與其對(duì)應(yīng)的值構(gòu)成的對(duì)組成(我們也把鍵/值對(duì)稱為項(xiàng))。字典中包括很多鍵,每一個(gè)鍵對(duì)應(yīng)一個(gè)值。鍵在字典中是唯一的,但是值不是唯一的。在上例中,名字是鍵,電話號(hào)碼是值。每個(gè)鍵和它的值之間用冒號(hào)(:)隔開,項(xiàng)之間用逗號(hào)(,)隔開,而整個(gè)字典用大括號(hào)括起來(lái)??兆值洌ú话魏雾?xiàng))由兩個(gè)大括號(hào)組成,像這樣:{}。

dict函數(shù):我們可以調(diào)用dict函數(shù)對(duì)其他映射(比如其他字典)或者(鍵,值)這樣的序列或者關(guān)鍵字參數(shù)來(lái)創(chuàng)建字典。

1 item=[('name','BaiYiShaoNian'),('age','23')]2 d=dict(item)3 print d

 


基本操作

len(d) : 返回字典d中項(xiàng)(鍵-值對(duì))的數(shù)量

d[k] : 返回字典d中鍵k對(duì)應(yīng)的值

d[k]=v :將值v關(guān)聯(lián)到字典d的鍵k上

del d[k] :刪除鍵k的項(xiàng)

k in d : 檢查鍵k是否存在于字典d中

 

1 d={'name':'BaiYiShaoNian','age':'23','from':'ChongQing','nowAdd':'Jilin'}2 print len(d)3 print d['name']4 d['name']='huangSir'5 print d6 del d['age']7 print d8 print 'from' in d 9 print 'age' in d 

 

 

小結(jié):在字典中檢查鍵的成員資格比在列表中檢查值的成員資格更加高效,數(shù)據(jù)規(guī)模越大,兩者的查詢效率差別就越大。

字典格式化字符串:我在字符串一篇中有講到字符串的格式化方法,這里,又出現(xiàn)字典格式化字符串了。想想有什么相同之處和不同之處呢,你是不是應(yīng)該試著思考一下?(提示:字典是以映射的方式存在的)

1 d={'name':'BaiYiShaoNian','age':'23','from':'ChongQing'}2 print 'introduce yourself'3 print 'My name is %(name)s , I/'m %(age)s years old , I/'m from %(from)s .' % d 

 

字典方法

clear:清除字典中所有的項(xiàng),無(wú)返回值。(通過下面兩個(gè)例子感受clear方法的特點(diǎn)在哪里)

 

copy:返回一個(gè)具有相同鍵-值對(duì)的新字典(淺復(fù)制)

deepcopy:深復(fù)制

 

 1 d={'zhangsan':['789','123'],'lisi':'12313'} 2 d2=d.copy() 3 d['zhangsan'].append('999') 4 print d 5 print d2 6  7 from copy import deepcopy 8 d={'zhangsan':['789','123'],'lisi':'12313'} 9 d3=deepcopy(d)10 d['zhangsan'].append('999')11 print d12 print d3

 

 

fromkeys:使用給定的鍵建立新的字典,每個(gè)鍵默認(rèn)對(duì)應(yīng)的值為None。

get:一個(gè)更寬松的訪問字典的方法。

一般來(lái)說(shuō),如果正常訪問字典中不存在的鍵的話會(huì)出錯(cuò),那么使用get方法就不會(huì)報(bào)錯(cuò),它返回的是None。

has_key:檢查字典中是否含有給出的鍵。表達(dá)式d.has_key(k)相當(dāng)于k in d。

itemsiteritems:items將字典項(xiàng)以列表的形式返回,iteritems和items作用相同,但是它返回的是一個(gè)迭代器對(duì)象而不是列表。

keysiterkeys:keys方法將字典中的鍵以列表形式返回,iterkeys方法將字典中的值以列表返回

pop:獲得對(duì)應(yīng)于給定鍵的值,并將這個(gè)鍵-值對(duì)從字典中移除

valuesitervalues:和keys、iterkeys相對(duì)應(yīng),values方法以列表的形式返回字典中的值(itervalues返回值的迭代器)

 

總結(jié):目前為止,我們已經(jīng)學(xué)習(xí)到了Python中字符串、元組、列表、字典的基本知識(shí)了,接下來(lái)應(yīng)該怎么學(xué)呢?if 和 while語(yǔ)句嗎?我覺得這些循環(huán)語(yǔ)句可以在今后的Python例子中自然的就學(xué)到了。所以,接下來(lái),我決定繼續(xù)學(xué)習(xí)Python的高級(jí)編程和爬蟲的知識(shí)了。

加油!BaiYiShaoNian。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜昌市| 永德县| 兴义市| 新沂市| 共和县| 拜泉县| 冷水江市| 钦州市| 长子县| 古交市| 福贡县| 禹城市| 五原县| 昌图县| 财经| 布拖县| 巴林右旗| 东阿县| 襄城县| 清原| 东至县| 安塞县| 甘孜县| 彭阳县| 娱乐| 板桥市| 阿拉善右旗| 龙泉市| 陵川县| 拉萨市| 宝应县| 兴和县| 新宁县| 沛县| 安多县| 普定县| 安泽县| 石嘴山市| 三都| 德令哈市| 新安县|