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

首頁 > 學院 > 開發設計 > 正文

.Net程序員之Python基礎教程學習----字典的使用[ThirdDay]

2019-11-14 17:23:53
字體:
來源:轉載
供稿:網友

    今天學習了字典的使用, 所謂的字典其實就是鍵值對數據, 一個字典里面有唯一的Key對應一個value,Key是唯一的,Value不唯一. 在.net添加相同的Key會報錯,在Python,若出現相同的Key,后面Key的value將會覆蓋前面的數據.

   一.字典的基本用法.

    1.字典的創建: 字段的創建格式是{key:Value,Key:Value},也可以通過,dict函數轉換。

            Note:key的順序按照字符串從小到大排序;如果聲明字典的時候有相同的Key,取最后一個。(有別于.net)

    

>>> dic1={'Name':'Hardy','Age':24}>>> dic1{'Age': 24, 'Name': 'Hardy'}>>> imtes=[('Name','Frank'),('Age',23)]>>> dic = dict(imtes);>>> dic{'Age': 23, 'Name': 'Frank}

>>> dic2={'Name':'Hardy','Age':24,'Name':'Frank'} #第一個被覆蓋了
>>> dic2
{'Age': 24, 'Name': 'Frank'}

      2.字典的基本使用

    

>>> imtes=[('Name','Frank'),('Age',23)]>>> dic = dict(imtes);>>> dic{'Age': 23, 'Name': 'Frank'}>>> len(dic)  #長度2>>> 'Age' in dic #判斷是否有Key存在True>>> dic['Age'] = 22 #修改值>>> dic{'Age': 22, 'Name': 'Frank'} >>> del dic['Age'] #刪除某個元素>>> dic{'Name': 'Frank'}

            3.字典的格式化.
     在前面合計將了兩種格式化,一種通過元組格式化數據,還有一種是通過template模板來使用字典格式化數據. 下面來解釋字典格式化數據.

    

>>> workMsg = {'Frank':'Coder','Nancy':'HR','Vincent':'PRoject Manager'}>>> 'Frank is the %(Frank)s' %workMsg'Frank is the Coder'

   二. 字典內部提供方法的使用.

    1.Clear方法: 在使用Clear方法的時候大家請看下面三個例子.    

    Note:表面上通過dic={}是清空數據。

                    第一個案例:dicTestB1和dicTestA1都指向同一個空間。可是對于dicTestA1={}操作,其實是開辟了一個新空間,dicTest1指向了{}對應的空間,所以dicTestB1還是保留原來數據.  

       第二個案例: dicTestB2和dicTestA1指向同一個空間. 可是dicTestA1.clear()是對當前空間清空,沒有產生其他新的空間,所以dicTestB2也沒有數據了.

       第三個案例: 因為調用了copy()方法,其實在dicTestB3=dicTestA3.copy()時就開辟了新空間,那么dicTestB3和dicTestA3已經毫無相關了,所以dicTestA3任何操作不影響dicTextB3值     

>>> dicTestA1 = {'Name':'Frank'}>>> dicTestB1 = dicTestA1>>> dicTest1={}>>> dicTest1{}>>> dicTestB1{'Name': 'Frank'}>>> >>> dicTestA2={'Name':'Frank'}>>> dicTestB2=dicTestA2>>> dicTestA2.clear()>>> dicTestB2{}>>> >>> dicTestA3={'Name':'Frank'}>>> dicTestB3=dicTestA3>>> dicTestB3 = dicTestA3.copy()>>> dicTestA3.clear()>>> dicTestA3={}>>> dicTestB3{'Name': 'Frank'}

     2.fromkeys: 為字典添加values為空的key.

    

>>> {}.fromkeys(['Name','Age']){'Age': None, 'Name': None}}
>>> {}.fromkeys(['Name','Age'],'Unkown')
{'Age': 'Unkown', 'Name': 'Unkown'}
>>>

            3. has_key() 和key in dic一樣判斷是否包含key
            4. items 和 iteritems: 獲取字典元素列表,用于字典的遍歷,類是于.net的keyvaluepair<key,value>,后者是通過迭代器實現的.一般來說迭代器的效率更高.

    

>>> workMsg = {'Frank':'Coder','Nancy':'HR','Vincent':'Project Manager'}>>> workMsg.items()[('Frank', 'Coder'), ('Vincent', 'Project Manager'), ('Nancy', 'HR')]>>> list(workMsg.iteritems())[('Frank', 'Coder'), ('Vincent', 'Project Manager'), ('Nancy', 'HR')]>>> 

     5.keys和iterkeys 以及 values和itervalues 分別實現后去key列表和values列表.

            6.pop(key) 和 popitem 以及del 實現對字段元素的刪除

            7.update(parma) 一個字典更新另一個字典.

       三. 總結:

    

         整體來說,字典還是挺簡單的. 不過對于里面調用方法的clear()以及update()都是對當前內存的數據進行操作,如果單獨通過=來賦值也可以達到更新效果,其實原理是不一樣,
=號相當于丟棄以前數據重新在新的內存存儲。這個有點類是于我們常常對數據庫的數據進行更新,可以通過update來實現,也可以通過delete和add來實現的原理差不多.

 

    

    


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 满洲里市| 平武县| 田东县| 万盛区| 焦作市| 鄂托克前旗| 潮安县| 汪清县| 汉沽区| 新乐市| 饶河县| 札达县| 普陀区| 栖霞市| 永清县| 盐城市| 自贡市| 鹤壁市| 叶城县| 镇江市| 塘沽区| 海城市| 岢岚县| 德惠市| 东兴市| 淄博市| 辉南县| 刚察县| 成都市| 勃利县| 漾濞| 江都市| 城固县| 鹤山市| 富宁县| 天水市| 雷波县| 安仁县| 岳西县| 定远县| 汶上县|