在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python3字典
Python3文件操作
Python3日期和時(shí)間
Python3基礎(chǔ)語法
Python3字典
Python3元組
Python3文件方法
Python3字符串
Python3引入什么新的東西?
Python3異常處理
Python3模塊
Python3數(shù)字
Python3變量類型
Python3函數(shù)
Python3循環(huán)
Python3 os文件目錄的方法
Python3 while循環(huán)語句
Python3斷言
Python3基本運(yùn)算符
Python3環(huán)境安裝設(shè)置
Python3標(biāo)準(zhǔn)異常
Python3嵌套循環(huán)
Python3教程
Python3決策
Python3 for循環(huán)語句
Python3列表

Python3字典

每個(gè)鍵是從它的值由冒號(hào)(:),即在項(xiàng)目之間用逗號(hào)隔開,整個(gè)東西是包含在大括號(hào)中。沒有任何項(xiàng)目一個(gè)空字典只寫兩個(gè)大括號(hào),就像這樣:{}.

鍵在一個(gè)字典中是唯一的,而值則可以重復(fù)。字典的值可以是任何類型,但鍵必須是不可變的數(shù)據(jù)的類型,例如:字符串,數(shù)字或元組這樣的類型。

訪問字典中的值

要訪問字典元素,你可以使用方括號(hào)和對(duì)應(yīng)鍵,以獲得其對(duì)應(yīng)的值。下面是一個(gè)簡(jiǎn)單的例子 -

#!/usr/bin/python3

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

print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
dict['Name']:  Zara
dict['Age']:  7
如果我們?cè)噲D使用一個(gè)鍵,但這是不字典訪問數(shù)據(jù)項(xiàng)的一部分,我們會(huì)得到一個(gè)錯(cuò)誤如下 -
#!/usr/bin/python3

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

print "dict['Alice']: ", dict['Alice']
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
dict['Zara']:
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    print "dict['Alice']: ", dict['Alice'];
KeyError: 'Alice'

更新字典

可以通過添加新條目或鍵值對(duì),修改現(xiàn)有條目,或刪除現(xiàn)有條目,更新詞典的簡(jiǎn)單例子如下圖所示 -
#!/usr/bin/python3

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'])
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
dict['Age']:  8
dict['School']:  DPS School

刪除字典元素

可以刪除單個(gè)字典元素或清除字典的全部?jī)?nèi)容。也可以在一個(gè)單一的操作刪除整個(gè)詞典。

要明確刪除整個(gè)詞典,只要用 del 語句就可以做到。下面是一個(gè)簡(jiǎn)單的例子 -
#!/usr/bin/python3

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

del dict['Name'] # remove entry with key 'Name'
dict.clear()     # remove all entries in dict
del dict         # delete entire dictionary

print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
這將產(chǎn)生以下結(jié)果。請(qǐng)注意,將引發(fā)一個(gè)異常,因?yàn)閳?zhí)行 del dict 后字典不存在了-
dict['Age']:
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable
注: del() 方法是在后續(xù)部分討論。

字典鍵的屬性

字典的值沒有限制。它們可以是任意Python對(duì)象,無論是標(biāo)準(zhǔn)的對(duì)象或用戶定義的對(duì)象。但是,鍵卻不能這樣使用。

還有要記住字典的鍵的重要兩點(diǎn) -

(一)每個(gè)鍵對(duì)應(yīng)多個(gè)條目是不允許的。這意味著重復(fù)鍵是不允許的。當(dāng)鍵分配過程中遇到重復(fù),以最后分配的為準(zhǔn)。例如 -

#!/usr/bin/python3

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

print ("dict['Name']: ", dict['Name'])
當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
dict['Name']:  Manni 

(二)鍵必須是不可變的。這意味著可以使用字符串,數(shù)字或元組作為字典的鍵,但是像['key']是不允許的。下面是一個(gè)簡(jiǎn)單的例子:

#!/usr/bin/python3

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

print ("dict['Name']: ", dict['Name'])

當(dāng)執(zhí)行上面的代碼,它產(chǎn)生以下結(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包括以下字典函數(shù) -
SN
函數(shù)與描述
1

cmp(dict1, dict2)

比較這兩個(gè)字典的元素。
2

len(dict)

計(jì)算字典的總長(zhǎng)度。這等于字典中的項(xiàng)的數(shù)目。
3

str(dict)

產(chǎn)生字典的可打印字符串表示
4

type(variable)

返回傳遞變量的類型。如果傳遞變量是字典,那么它會(huì)返回一個(gè)字典類型。

Python中包括以下字典方法 -
SN
描述與方法
1

dict.clear()

刪除字典 dict 中的所有元素
2

dict.copy()

返回字典 dict 的淺表副本
3

dict.fromkeys()

使用seq的鍵和值來設(shè)置創(chuàng)建新字典
4

dict.get(key, default=None)

對(duì)于鍵key,返回其值或default如果鍵不存在于字典中
5

dict.has_key(key)

返回true如果在字典dict有存在鍵key,否則為false
6

dict.items()

返回 dict (鍵,值)元組對(duì)的列表
7

dict.keys()

返回字典 dict 的鍵列表
8

dict.setdefault(key, default=None)

類似于get()方法,但會(huì)設(shè)定dict[key]=default,如果鍵不存在于dict中
9

dict.update(dict2)

添加字典dict2的鍵值對(duì)到dict
10

dict.values()

返回字典dict值列表