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

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

python基礎(chǔ)教程學習筆記---(4)字典

2019-11-14 17:10:09
字體:
供稿:網(wǎng)友
序列是python中的一種數(shù)據(jù)結(jié)構(gòu),映射是另一種。映射(mapping)通過名字來引用值。python內(nèi)建的唯一一種映射結(jié)構(gòu)是字典。字典中的值沒有特殊的順序,但都存儲在一個特定的鍵中。鍵可以是數(shù)字、字符串甚至數(shù)元組。
1、字典的使用:
序列通過索引來找到元素的取值。
字典通過鍵來獲取它的值。
字段比列表在某些方面更加適用:
游戲棋盤是用坐標值來組成的
②文件是用文件名來確定的
③數(shù)字電話,地址對應(yīng)一個聯(lián)系人
這些都不能通過索引來代替。
2、字典的創(chuàng)建:
字典是由鍵值對組成,一個鍵值對稱為一項。鍵與值之間用冒號隔開,項與項之間用逗號隔開,整個字典用一對大括號括起來。空字典,即不包含任何項的字典,是有一對大括號組成。
列表,用方括號。
元組,用圓括號。
字典中的鍵是唯一的,同一個字典中不允許重復(fù),值則是不唯一的。
使用dict函數(shù)來建立字段。
3、基本字典操作:
字典的基本行為包括:
①len返回字典中項的數(shù)目。
②dic1[k]返回字典dic1中鍵為k的值。
③dic1[k]=v將值v關(guān)聯(lián)到字典dic1的鍵k上。
④del dic1[k]刪除字典dic1中鍵為k的項。
⑤k in dic1檢查字典dic1中是否含有鍵為k的項。
可以看到,dic1[k]=v的用法既可以為字典添加新項,也可以用于更改現(xiàn)有項的值。
另外,有:
①鍵類型:字典的鍵不一定為整數(shù)類型,也可以是浮點型、字符串、元組等等。
②自動添加:為字典中不存在的鍵分配一個值時,會自動在字典中創(chuàng)建這樣一個鍵值對。
③成員資格:k in dic1是用來查找鍵是否存在,而不是值是否存在。
4、字典方法:
(1)clear方法
clear方法用于清空字典,但沒有返回值。
注意以下兩種區(qū)別:
dicx與dicy并不是兩個字典,而是指向同一字典的兩個代號。對dicx的改變從而會影響dicy。因此,對dicx重新賦值或者清空都會影響dicx字典本身,從而影響dicy。
dicx與dicy最初都指向同一個字典。后來使用dicx={}重新將dicx指向了另一個空字典。此后,dicx與dicy就是兩個不同的字典,對dicx的改變將不影響dicy。
(2)copy方法:
copy方法主要用于將一個字典復(fù)制產(chǎn)生另一個字典,但這種復(fù)制屬于淺復(fù)制(shallow copy)。
對字典x使用copy方法產(chǎn)生一個副本y。對y進行項的添加、刪除、清空、值的替換都不影響x,但是對值的改變是會影響到x字典的。
(3)deepcopy函數(shù)
deepcoop函數(shù)是相對與copy方法的深復(fù)制。但它不是字典內(nèi)建的方法,而是copy模塊中的deepcopy函數(shù)。
deepcopy函數(shù)是一種深復(fù)制,復(fù)制完成后,非副本做出的任何改變都不會影響到元字典本身。
(4)fromeys方法
fromkeys方法主要是為創(chuàng)建新的字典,該字典所有的鍵都是相同的值。新項一定要給出鍵,值可以不給,不給就默認為None。
從上面的例子可以看出,使用fromkeys方法只能產(chǎn)生一個新的字典,而不能該變一個字典本身,或者為一個舊字典添加新項。并且fromkeys方法只能為添加的鍵使用一個共同的值,即所有的鍵的值都是相同的,鍵要么都是none,要么都是一個值。
(5)get方法
get方法是一種訪問字典項的方法。如果使用鍵來訪問字典中的項,當我們試圖訪問字典中不存在的項時會出錯。
但是使用get方法則會返回一個默認值,比如none。這個默認值也可以更改。
舉例:查詢用戶電話和地址,對空用戶進行了處理。
(6)has_key()方法
用于檢查字典中是否含有給出的鍵。
相當于k in dic
(7)items方法
items方法將所有的字典項以列表方式返回。產(chǎn)生的列表的每一個元素都是原來字典的一項(鍵-值),但項與項之間在返回是并沒有特殊的順序。
(8)iteritems方法
iteritems方法的作用與items方法大致相同,但是會返回一個迭代器對象而不是列表。
在很多情況下iteritems更高效。
(9)keys方法
keys方法是將字典中所有的鍵以列表形式返回。類似于items。
(10)iterkeys方法
iterkeys方法是將字典中的鍵以迭代器的方式返回。類似于iteritems。
(11)popitem方法
popitem方法類似于列表中的list.pop。list.pop方法會彈出列表中的最后一個元素,而popitem彈出一個隨機的項。因為在字典中沒有順序的概念。如果想一個接一個的移除并處理項,這個方法就非常有效。
每一次popitem()方法就會在字典中隨機移除一項。
字典中沒有append等級的方法,這是因為在字典中沒有順序的概念。
(12)setdefault方法
setfault方法在某種程度上類似于get方法,就是能夠獲得給定鍵相關(guān)聯(lián)的值。
除此之外,setdefalut方法還能在字典中不含有給定鍵的情況下設(shè)定相應(yīng)的鍵值。
setfault方法有兩個作用,一個是根據(jù)鍵查看某一個已經(jīng)存在的項的值,第二是為字典添加一個新的項,添加時可以指定項中的值,也可以不指定,那么就會自動使用默認值None。
(13)update方法
update方法可以利用一個字典去更新另外一個字典。
對于一個舊字典,使用新字典來更新,新字典中的項可以是一項也可以是多項。
如果舊字典中沒有新字典中的鍵,那么新字典中的那項就會被添加到舊字典中。
如果舊字典中有相同的鍵,那么會用新字典中項的值替代舊字典中的項的值。
(14)values方法
values方法用于以列表的形式返回字典中的值。與items方法和keys方法類似。由于字典中的值可能相同,因此,返回的列表中可以包含重復(fù)的元素。
(15)itervalues方法
itervalues方法用于以迭代器的形式返回字典中的值。與iteritems方法和iterkeys方法類似。由于字典中的值可能相同,因此,返回的列表中可以包含重復(fù)的元素。
5、小結(jié):
   
 
 
 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 商城县| 广宁县| 繁昌县| 彭州市| 青海省| 定陶县| 舟曲县| 高邮市| 大田县| 乐至县| 岱山县| 怀集县| 新安县| 丰都县| 巫溪县| 康平县| 莆田市| 拉萨市| 大城县| 和硕县| 加查县| 方正县| 崇信县| 天台县| 三门峡市| 保德县| 湘阴县| 甘德县| 克东县| 宁波市| 安远县| 长丰县| 巍山| 南和县| 澳门| 额敏县| 汝城县| 灵丘县| 潜江市| 长白| 鹿泉市|