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

Python 字典(Dictionary)操作詳解

 更新時間:2014年03月11日 17:05:03   投稿:junjie  
這篇文章主要介紹了Python 字典(Dictionary)的詳細(xì)操作方法,需要的朋友可以參考下

Python字典是另一種可變?nèi)萜髂P?,且可存儲任意類型對象,如字符串、?shù)字、元組等其他容器模型。

一、創(chuàng)建字典

字典由鍵和對應(yīng)值成對組成。字典也被稱作關(guān)聯(lián)數(shù)組或哈希表?;菊Z法如下:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此創(chuàng)建字典

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }

注意:

每個鍵與值用冒號隔開(:),每對用逗號,每對用逗號分割,整體放在花括號中({})。
鍵必須獨一無二,但值則不必。
值可以取任何數(shù)據(jù)類型,但必須是不可變的,如字符串,數(shù)或元組。

二、訪問字典里的值

把相應(yīng)的鍵放入熟悉的方括弧,如下實例:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
#以上實例輸出結(jié)果:
#dict['Name']: Zara
#dict['Age']: 7

如果用字典里沒有的鍵訪問數(shù)據(jù),會輸出錯誤如下:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Alice']: ", dict['Alice'];

以上實例輸出結(jié)果:

#KeyError: 'Alice'

三、修改字典

向字典添加新內(nèi)容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

 
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];

#以上實例輸出結(jié)果:

#dict['Age']: 8
#dict['School']: DPS School

四、刪除字典元素

能刪單一的元素也能清空字典,清空只需一項操作。
顯示刪除一個字典用del命令,如下實例:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

del dict['Name']; # 刪除鍵是'Name'的條目
dict.clear();  # 清空詞典所有條目
del dict ;  # 刪除詞典

print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#但這會引發(fā)一個異常,因為用del后字典不再存在:
dict['Age']:

五、字典鍵的特性

字典值可以沒有限制地取任何python對象,既可以是標(biāo)準(zhǔn)的對象,也可以是用戶定義的,但鍵不行。
兩個重要的點需要記?。?/p>

1)不允許同一個鍵出現(xiàn)兩次。創(chuàng)建時如果同一個鍵被賦值兩次,后一個值會被記住,如下實例:

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};

print "dict['Name']: ", dict['Name'];
#以上實例輸出結(jié)果:
#dict['Name']: Manni

2)鍵必須不可變,所以可以用數(shù),字符串或元組充當(dāng),所以用列表就不行,如下實例:

dict = {['Name']: 'Zara', 'Age': 7};

print "dict['Name']: ", dict['Name'];
#以上實例輸出結(jié)果:
#TypeError: list objects are unhashable

六、字典內(nèi)置函數(shù)&方法

Python字典包含了以下內(nèi)置函數(shù):

cmp(dict1, dict2) #比較兩個字典元素。
len(dict) #計算字典元素個數(shù),即鍵的總數(shù)。
str(dict) #輸出字典可打印的字符串表示。
type(variable) #返回輸入的變量類型,如果變量是字典就返回字典類型。

Python字典包含了以下內(nèi)置方法:

radiansdict.clear() #刪除字典內(nèi)所有元素
radiansdict.copy() #返回一個字典的淺復(fù)制
radiansdict.fromkeys() #創(chuàng)建一個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應(yīng)的初始值
radiansdict.get(key, default=None) #返回指定鍵的值,如果值不在字典中返回default值
radiansdict.has_key(key) #如果鍵在字典dict里返回true,否則返回false
radiansdict.items() #以列表返回可遍歷的(鍵, 值) 元組數(shù)組
radiansdict.keys() #以列表返回一個字典所有的鍵
radiansdict.setdefault(key, default=None) #和get()類似, 但如果鍵不已經(jīng)存在于字典中,將會添加鍵并將值設(shè)為default
radiansdict.update(dict2) #把字典dict2的鍵/值對更新到dict里
radiansdict.values() #以列表返回字典中的所有值

七、字典練習(xí)代碼

print('''|---歡迎進(jìn)入通訊錄程序---|
|---1、 查詢聯(lián)系人資料---|
|---2、 插入新的聯(lián)系人---|
|---3、 刪除已有聯(lián)系人---|
|---4、 退出通訊錄程序---|''')
addressBook={}#定義通訊錄
while 1:
 temp=input('請輸入指令代碼:')
 if not temp.isdigit():
  print("輸入的指令錯誤,請按照提示輸入")
  continue
 item=int(temp)#轉(zhuǎn)換為數(shù)字
 if item==4:
  print("|---感謝使用通訊錄程序---|")
  break
 name = input("請輸入聯(lián)系人姓名:")
 if item==1:
  if name in addressBook:
   print(name,':',addressBook[name])
   continue
  else:
   print("該聯(lián)系人不存在!")
 if item==2:
  if name in addressBook:
   print("您輸入的姓名在通訊錄中已存在-->>",name,":",addressBook[name])
   isEdit=input("是否修改聯(lián)系人資料(Y/N):")
   if isEdit=='Y':
    userphone = input("請輸入聯(lián)系人電話:")
    addressBook[name]=userphone
    print("聯(lián)系人修改成功")
    continue
   else:
    continue
  else:
   userphone=input("請輸入聯(lián)系人電話:")
   addressBook[name]=userphone
   print("聯(lián)系人加入成功!")
   continue

 if item==3:
  if name in addressBook:
   del addressBook[name]
   print("刪除成功!")
   continue
  else:
   print("聯(lián)系人不存在")

這篇文章就介紹到這了,希望大家以后多多支持腳本之家。

相關(guān)文章

  • 對python append 與淺拷貝的實例講解

    對python append 與淺拷貝的實例講解

    今天小編就為大家分享一篇對python append 與淺拷貝的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 三大Python翻譯神器再也不用擔(dān)心學(xué)不好英語

    三大Python翻譯神器再也不用擔(dān)心學(xué)不好英語

    本文介紹了用python做一款屬于自己的翻譯詞典軟件,從此告別網(wǎng)頁搜索,文中有非常詳細(xì)的代碼示例,小伙伴們快快行動吧,需要的朋友可以參考下
    2021-09-09
  • Python自動化辦公之合并多個Excel

    Python自動化辦公之合并多個Excel

    在日常的辦公自動化工作中,尤其是處理大量數(shù)據(jù)時,合并多個?Excel?表格是一個常見且繁瑣的任務(wù),下面小編就來為大家介紹一下如何使用Python輕松實現(xiàn)合并多個Excel吧
    2025-02-02
  • Python functools.lru_cache裝飾器性能提升利器深入探究

    Python functools.lru_cache裝飾器性能提升利器深入探究

    本文將詳細(xì)介紹functools.lru_cache裝飾器的原理、用法以及適當(dāng)?shù)膱鼍?以幫助你更好地利用這一功能,它可以用來緩存函數(shù)的輸出,以避免重復(fù)計算,從而顯著提高程序的執(zhí)行速度
    2024-01-01
  • Python break語句詳解

    Python break語句詳解

    這篇文章主要介紹了Python break語句的作用、使用方法,需要的朋友可以參考下
    2014-03-03
  • Python面向?qū)ο蟪绦蛟O(shè)計之繼承、多態(tài)原理與用法詳解

    Python面向?qū)ο蟪绦蛟O(shè)計之繼承、多態(tài)原理與用法詳解

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計之繼承、多態(tài),結(jié)合實例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計中繼承、多態(tài)的相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-03-03
  • Python+mpld3實現(xiàn)交互式Matplotlib圖表

    Python+mpld3實現(xiàn)交互式Matplotlib圖表

    通過結(jié)合使用Matplotlib和mpld3庫,我們可以輕松地創(chuàng)建交互式圖表,使得數(shù)據(jù)可視化更加生動和易于理解,下面就跟隨小編一起來學(xué)習(xí)一下具體實現(xiàn)方法吧
    2024-10-10
  • 100行Python代碼實現(xiàn)每天不同時間段定時給女友發(fā)消息

    100行Python代碼實現(xiàn)每天不同時間段定時給女友發(fā)消息

    這篇文章主要介紹了100行Python代碼,每天不同時間段定時給女友發(fā)消息,本文給出了實現(xiàn)思路,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 用scikit-learn和pandas學(xué)習(xí)線性回歸的方法

    用scikit-learn和pandas學(xué)習(xí)線性回歸的方法

    這篇文章主要介紹了用scikit-learn和pandas學(xué)習(xí)線性回歸的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用python?dateutil庫輕松處理日期和時間

    使用python?dateutil庫輕松處理日期和時間

    這篇文章主要介紹了使用python?dateutil庫輕松處理日期和時間實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評論

萨迦县| 体育| 楚雄市| 本溪市| 玛沁县| 开江县| 株洲市| 鹤峰县| 慈利县| 射阳县| 赤城县| 桃江县| 开化县| 普陀区| 衡东县| 都匀市| 颍上县| 赞皇县| 乌拉特后旗| 措勤县| 汪清县| 荥阳市| 揭西县| 盘锦市| 德清县| 民勤县| 铜山县| 贵阳市| 隆安县| 陈巴尔虎旗| 青冈县| 平果县| 小金县| 田东县| 舟山市| 汉阴县| 和平县| 乌苏市| 北流市| 洛宁县| 惠来县|