欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python字典簡(jiǎn)介以及用法詳解

 更新時(shí)間:2016年11月15日 08:38:41   作者:cookie1026  
字典(dictionary)是除列表意外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對(duì)象結(jié)合,字典是無序的對(duì)象集合。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""

老規(guī)矩以下方法環(huán)境2.7.x,請(qǐng)3.x以上版本的朋友記得格式print(輸出內(nèi)容放入括號(hào)內(nèi))

字典的基本組成以及用法

dict = { key : value }
dict[ key ] = value

首先來說說字典是由key鍵與value值一一對(duì)應(yīng)來組成字典的基本結(jié)構(gòu)

key鍵不能由list列表,dict字典等多元素命名,

key是唯一屬性又可以稱一對(duì)一服務(wù),key相同但只會(huì)輸出一個(gè)

value值可以由一個(gè)或多元素命名,不是唯一屬性又可以稱一對(duì)多服務(wù)

很重要的一點(diǎn)就是字典是無序的

下面來看看字典的寫法用法:

"""
#dic ={} 初始化一個(gè)字典
dic_samekey = {"a":None,"a":None,"b":None,"b":None} #key相同的情況
print dic_samekey
dic_morevalue = {"a":["0","1","2"],"b":{"c":0,"d":1,"e":2},"t":(0,1,2)} #value一對(duì)多的特性
print dic_morevalue
#這時(shí)候看到多value很頭疼了吧怎么取也來學(xué)習(xí)下,
#其實(shí)我命名的的value值已經(jīng)標(biāo)記好下標(biāo)也是默認(rèn)排序,字典無序的再次提醒
#dict[ key ] = value 這樣可以命名一個(gè)字典同樣可以取一個(gè)想要的值
print dic_morevalue["a"][0],dic_morevalue["a"][1],dic_morevalue["a"][2]
print dic_morevalue["b"]["c"],dic_morevalue["b"]["d"],dic_morevalue["b"]["e"]#多字典用法可以構(gòu)造多級(jí)選擇
print dic_morevalue["t"][0],dic_morevalue["t"][1],dic_morevalue["t"][2]
#快速獲取字典所有的key方法及類型
print dic_morevalue.keys(),type(dic_morevalue.keys()) #返回的類型是list列表
#快速獲取字典所有的value方法及類型
print dic_morevalue.values(),type(dic_morevalue.values()) #也是list列表
#copy顧名思義拷貝(淺拷貝)俗稱賦值
dic_test = dic_morevalue.copy()
dic = dic_test
print dic_test
#clear同意思清除,在這樣清空字典內(nèi)的所有元素
print dic_morevalue.clear()
#has_key用來判斷字典內(nèi)有無這個(gè)key鍵,返回布爾類型也就是真假有為True反之為False
print dic_test.has_key("b")
#get也可以用這個(gè)方法來判斷字典內(nèi)有無此key鍵,在沒有key時(shí)會(huì)返回它默認(rèn)值None
print dic_test.get("k")
#pop用來移除字典的某個(gè)key及其value
b = dic_test.pop("b")
print dic_test,u"移除了b:",b
#item()方法把字典中每對(duì)key和value組成一個(gè)元組,并把這些元組放在列表中返回。
item = dic_test.items()
print item
#update可以把兩個(gè)字典合并到其中用update的字典內(nèi)
dic2 = {"j":"nice"}
dic_test.update(dic2)
print dic_test
#fromkeys從keys鍵隊(duì)列中統(tǒng)一命名value值,如果沒有設(shè)置就是None
seq = ["name","age","job"]
print dic_test.fromkeys(seq)
print dic_test.fromkeys(seq,"guess") #統(tǒng)一命名為guess

下面我們來具體看下字典的用法:

一、創(chuàng)建字典

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

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

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

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

注意:

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

二、訪問字典里的值

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

#!/usr/bin/python

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

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

#dict['Name']: Zara
#dict['Age']: 7



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

#!/usr/bin/python

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

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

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

#dict['Zara']:
#Traceback (most recent call last):
# File "test.py", line 4, in <module>
#  print "dict['Alice']: ", dict['Alice'];
#KeyError: 'Alice'[/code]

三、修改字典

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

#!/usr/bin/python

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'];
#以上實(shí)例輸出結(jié)果:
#dict['Age']: 8
#dict['School']: DPS School

四、刪除字典元素

能刪單一的元素也能清空字典,清空只需一項(xiàng)操作。

顯示刪除一個(gè)字典用del命令,如下實(shí)例:

#!/usr/bin/python

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'];
#但這會(huì)引發(fā)一個(gè)異常,因?yàn)橛胐el后字典不再存在:

dict['Age']:
#Traceback (most recent call last):
# File "test.py", line 8, in <module>
#  print "dict['Age']: ", dict['Age'];
#TypeError: 'type' object is unsubscriptable

五、字典鍵的特性

字典值可以沒有限制地取任何python對(duì)象,既可以是標(biāo)準(zhǔn)的對(duì)象,也可以是用戶定義的,但鍵不行。

兩個(gè)重要的點(diǎn)需要記住:

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

#!/usr/bin/python

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

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

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

#!/usr/bin/python

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

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

#Traceback (most recent call last):
# File "test.py", line 3, in <module>
#  dict = {['Name']: 'Zara', 'Age': 7};
#TypeError: list objects are unhashable

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

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

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

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

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

相關(guān)文章

  • 詳解Python 使用 selenium 進(jìn)行自動(dòng)化測(cè)試或者協(xié)助日常工作

    詳解Python 使用 selenium 進(jìn)行自動(dòng)化測(cè)試或者協(xié)助日常工作

    這篇文章主要介紹了Python 使用 selenium 進(jìn)行自動(dòng)化測(cè)試 或者協(xié)助日常工作,我們可以使用 selenium 來幫助我們進(jìn)行自動(dòng)化的 Web 測(cè)試,也可以通過 selenium 操作瀏覽器做一些重復(fù)的,簡(jiǎn)單的事情,來減輕我們的工作
    2021-09-09
  • Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署

    Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署

    這篇文章主要介紹了Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署小技巧,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-03-03
  • python圖形用戶界面tkinter之標(biāo)簽Label的使用說明

    python圖形用戶界面tkinter之標(biāo)簽Label的使用說明

    這篇文章主要介紹了python圖形用戶界面tkinter之標(biāo)簽Label的使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Python 自制簡(jiǎn)單版《我的世界》的詳細(xì)過程

    Python 自制簡(jiǎn)單版《我的世界》的詳細(xì)過程

    這篇文章主要介紹了教你用 Python 自制簡(jiǎn)單版《我的世界》,接下來,我們就帶你運(yùn)行這個(gè)項(xiàng)目,并對(duì)這個(gè)開源的小游戲做一下簡(jiǎn)單的更改,讓它變成“你的”世界
    2021-11-11
  • Python中print()函數(shù)的用法詳情

    Python中print()函數(shù)的用法詳情

    這篇文章主要介紹了Python中print()函數(shù)的用法詳情,Python中print()函數(shù)的方法是打印指定的內(nèi)容。在交互環(huán)境中輸入“help(print)”指令,可以顯示print()函數(shù)的使用方法,下面來看看具體的詳細(xì)內(nèi)容吧
    2022-02-02
  • Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識(shí)總結(jié)

    Python面向?qū)ο笾畠?nèi)置函數(shù)相關(guān)知識(shí)總結(jié)

    本次要總結(jié)的的內(nèi)置函數(shù)共8個(gè),他們都跟面向?qū)ο蟮闹R(shí)相關(guān),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python format函數(shù)詳談

    Python format函數(shù)詳談

    這篇文章主要介紹了Python中用format函數(shù)格式化字符串的用法,格式化字符串是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),希望能夠給你帶來幫助
    2021-10-10
  • python正則實(shí)現(xiàn)提取電話功能

    python正則實(shí)現(xiàn)提取電話功能

    這篇文章主要為大家詳細(xì)介紹了python正則實(shí)現(xiàn)提取電話功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python正則表達(dá)式中flags參數(shù)的實(shí)例詳解

    Python正則表達(dá)式中flags參數(shù)的實(shí)例詳解

    正則表達(dá)式是一個(gè)很強(qiáng)大的字符串處理工具,幾乎任何關(guān)于字符串的操作都可以使用正則表達(dá)式來完成,下面這篇文章主要給大家介紹了關(guān)于Python正則表達(dá)式中flags參數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Python中存取文件的4種不同操作

    Python中存取文件的4種不同操作

    這篇文章主要給大家介紹了關(guān)于Python中存取文件的4種不同操作的相關(guān)資料,分別包括Python內(nèi)置方法、numpy模塊方法、os模塊方法以及csv模塊方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07

最新評(píng)論