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

Python字典簡介以及用法詳解

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

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

字典的基本組成以及用法

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

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

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

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

value值可以由一個(gè)或多元素命名,不是唯一屬性又可以稱一對多服務(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一對多的特性
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()方法把字典中每對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)建字典

字典由鍵和對應(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 };

注意:

每個(gè)鍵與值用冒號(hào)隔開(:),每對用逗號(hào),每對用逗號(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)容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實(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對象,既可以是標(biāo)準(zhǔn)的對象,也可以是用戶定義的,但鍵不行。

兩個(gè)重要的點(diǎn)需要記?。?br />

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為字典所有鍵對應(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的鍵/值對更新到dict里
10、radiansdict.values():以列表返回字典中的所有值

相關(guān)文章

  • python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5

    python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5

    這篇文章主要介紹了python批量合成bilibili的m4s緩存文件為MP4格式 ver2.5的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 用python實(shí)現(xiàn)一個(gè)文件搜索工具

    用python實(shí)現(xiàn)一個(gè)文件搜索工具

    大家好,本篇文章主要講的是用python實(shí)現(xiàn)一個(gè)搜索工具,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python PyAutoGUI實(shí)現(xiàn)自動(dòng)化任務(wù)應(yīng)用場景示例

    Python PyAutoGUI實(shí)現(xiàn)自動(dòng)化任務(wù)應(yīng)用場景示例

    這篇文章主要為大家介紹了Python PyAutoGUI實(shí)現(xiàn)自動(dòng)化任務(wù)應(yīng)用場景示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Python 加密的實(shí)例詳解

    Python 加密的實(shí)例詳解

    這篇文章主要介紹了 Python 加密的實(shí)例詳解的相關(guān)資料,這里提供了兩種實(shí)現(xiàn)方法,需要的朋友可以參考下
    2017-10-10
  • python高階函數(shù)functools模塊的具體使用

    python高階函數(shù)functools模塊的具體使用

    本文主要介紹了python高階函數(shù)functools模塊的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python如何提取英語pdf內(nèi)容并翻譯

    python如何提取英語pdf內(nèi)容并翻譯

    這篇文章主要為大家詳細(xì)介紹了python如何提取英語pdf內(nèi)容并翻譯,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • pytest用例間參數(shù)傳遞的兩種實(shí)現(xiàn)方式示例

    pytest用例間參數(shù)傳遞的兩種實(shí)現(xiàn)方式示例

    pytest提供了許多運(yùn)行命令以供定制化運(yùn)行某一類測試用例或者某個(gè)測試用例等,下面這篇文章主要給大家介紹了關(guān)于pytest用例間參數(shù)傳遞的兩種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • Python跨文件實(shí)現(xiàn)字符串填充的三種實(shí)現(xiàn)方法

    Python跨文件實(shí)現(xiàn)字符串填充的三種實(shí)現(xiàn)方法

    本文主要介紹了Python跨文件實(shí)現(xiàn)字符串填充的三種實(shí)現(xiàn)方法,包括format方法、%格式化操作符和eval函數(shù)結(jié)合f-string,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • python3中的類繼承你真的了解嗎

    python3中的類繼承你真的了解嗎

    這篇文章主要為大家詳細(xì)介紹了python3中的類繼承,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python?實(shí)現(xiàn)循環(huán)最快方式(for、while?等速度對比)

    Python?實(shí)現(xiàn)循環(huán)最快方式(for、while?等速度對比)

    這篇文章主要介紹了Python?利用for、while?實(shí)現(xiàn)循環(huán)最快方式,文章主要對for、while?等速度對比詳細(xì)介紹,具有一定的參考價(jià)值?,需要的小伙伴可以參考一下
    2022-01-01

最新評(píng)論

黎川县| 双峰县| 高雄市| 怀柔区| 柞水县| 永修县| 秭归县| 宝鸡市| 石狮市| 廊坊市| 洛扎县| 肃宁县| 垣曲县| 武强县| 海晏县| 故城县| 蓝田县| 城固县| 方山县| 商南县| 田阳县| 福鼎市| 宁德市| 奉贤区| 武山县| 庆云县| 平山县| 五华县| 于田县| 莱州市| 鄂尔多斯市| 南宁市| 华坪县| 长岭县| 阳山县| 沙湾县| 盘山县| 漳平市| 华蓥市| 桂平市| 铜山县|