新聞中心
Python3 字典
字典是另一種可變?nèi)萜髂P停铱纱鎯?chǔ)任意類型對象。

創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元定西做網(wǎng)站,已為上家服務(wù),為定西各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
字典的每個(gè)鍵值 key=>value 對用冒號(hào) : 分割,每個(gè)對之間用逗號(hào)(,)分割,整個(gè)字典包括在花括號(hào) {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
注意:dict 作為 Python 的關(guān)鍵字和內(nèi)置函數(shù),變量名不建議命名為 dict。
鍵必須是唯一的,但值則不必。
值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字。
一個(gè)簡單的字典實(shí)例:
tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}
也可如此創(chuàng)建字典:
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }
創(chuàng)建空字典
使用大括號(hào) { } 創(chuàng)建空字典:
實(shí)例
# 使用大括號(hào) {} 來創(chuàng)建空字典
emptyDict
=
{
}
# 打印字典
print
(emptyDict
)
# 查看字典的數(shù)量
print
(
"Length:"
,
len
(emptyDict
)
)
# 查看類型
print
(
type
(emptyDict
)
)
以上實(shí)例輸出結(jié)果:
{}
Length: 0
使用內(nèi)建函數(shù) dict() 創(chuàng)建字典:
實(shí)例
emptyDict
=
dict
(
)
# 打印字典
print
(emptyDict
)
# 查看字典的數(shù)量
print
(
"Length:"
,
len
(emptyDict
)
)
# 查看類型
print
(
type
(emptyDict
)
)
以上實(shí)例輸出結(jié)果:
{}
Length: 0
訪問字典里的值
把相應(yīng)的鍵放入到方括號(hào)中,如下實(shí)例:
實(shí)例
#!/usr/bin/python3
tinydict
= {
'
Name
'
:
'
Runoob
'
,
'
Age
'
:
7
,
'
Class
'
:
'
First
'
}
print
(
"
tinydict['Name']:
"
,
tinydict
[
'
Name
'
]
)
print
(
"
tinydict['Age']:
"
,
tinydict
[
'
Age
'
]
)
以上實(shí)例輸出結(jié)果:
tinydict['Name']: Runoob tinydict['Age']: 7
如果用字典里沒有的鍵訪問數(shù)據(jù),會(huì)輸出錯(cuò)誤如下:
實(shí)例
#!/usr/bin/python3
tinydict
= {
'
Name
'
:
'
Runoob
'
,
'
Age
'
:
7
,
'
Class
'
:
'
First
'
}
print
(
"
tinydict['Alice']:
"
,
tinydict
[
'
Alice
'
]
)
以上實(shí)例輸出結(jié)果:
Traceback (most recent call last): File "test.py", line 5, inprint ("tinydict['Alice']: ", tinydict['Alice']) KeyError: 'Alice'
修改字典
向字典添加新內(nèi)容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實(shí)例:
實(shí)例
#!/usr/bin/python3
tinydict
= {
'
Name
'
:
'
Runoob
'
,
'
Age
'
:
7
,
'
Class
'
:
'
First
'
}
tinydict
[
'
Age
'
]
=
8
# 更新 Age
tinydict
[
'
School
'
]
=
"
菜鳥教程
"
# 添加信息
print
(
"
tinydict['Age']:
"
,
tinydict
[
'
Age
'
]
)
print
(
"
tinydict['School']:
"
,
tinydict
[
'
School
'
]
) 以上實(shí)例輸出結(jié)果:
tinydict['Age']: 8 tinydict['School']: 菜鳥教程
刪除字典元素
能刪單一的元素也能清空字典,清空只需一項(xiàng)操作。
顯式刪除一個(gè)字典用del命令,如下實(shí)例:
實(shí)例
#!/usr/bin/python3
tinydict
= {
'
Name
'
:
'
Runoob
'
,
'
Age
'
:
7
,
'
Class
'
:
'
First
'
}
del
tinydict
[
'
Name
'
]
# 刪除鍵 'Name'
tinydict
.
clear
(
)
# 清空字典
del
tinydict
# 刪除字典
print
(
"
tinydict['Age']:
"
,
tinydict
[
'
Age
'
]
)
print
(
"
tinydict['School']:
"
,
tinydict
[
'
School
'
]
)
但這會(huì)引發(fā)一個(gè)異常,因?yàn)橛脠?zhí)行 del 操作后字典不再存在:
Traceback (most recent call last): File "/runoob-test/test.py", line 9, inprint ("tinydict['Age']: ", tinydict['Age']) NameError: name 'tinydict' is not defined
注:del() 方法后面也會(huì)討論。
字典鍵的特性
字典值可以是任何的 python 對象,既可以是標(biāo)準(zhǔn)的對象,也可以是用戶定義的,但鍵不行。
兩個(gè)重要的點(diǎn)需要記?。?/p>
1)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住,如下實(shí)例:
實(shí)例
#!/usr/bin/python3
tinydict
= {
'
Name
'
:
'
Runoob
'
,
'
Age
'
:
7
,
'
Name
'
:
'
小菜鳥
'
}
print
(
"
tinydict['Name']:
"
,
tinydict
[
'
Name
'
]
)
以上實(shí)例輸出結(jié)果:
tinydict['Name']: 小菜鳥
2)鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),而用列表就不行,如下實(shí)例:
實(shí)例
#!/usr/bin/python3
tinydict
= {
[
'
Name
'
]
:
'
Runoob
'
,
'
Age
'
:
7
}
print
(
"
tinydict['Name']:
"
,
tinydict
[
'
Name
'
]
)
以上實(shí)例輸出結(jié)果:
Traceback (most recent call last): File "test.py", line 3, intinydict = {['Name']: 'Runoob', 'Age': 7} TypeError: unhashable type: 'list'
字典內(nèi)置函數(shù)&方法
Python字典包含了以下內(nèi)置函數(shù):
| 序號(hào) | 函數(shù)及描述 | 實(shí)例 |
|---|---|---|
| 1 | len(dict) 計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)。 |
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> len(tinydict)
3
|
| 2 | str(dict) 輸出字典,可以打印的字符串表示。 |
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(tinydict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
|
| 3 | type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類型。 |
>>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> type(tinydict)
|
Python字典包含了以下內(nèi)置方法:
| 序號(hào) | 函數(shù)及描述 |
|---|---|
| 1 | 刪除字典內(nèi)所有元素 |
| 2 | 返回一個(gè)字典的淺復(fù)制 |
| 3 | 創(chuàng)建一個(gè)新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應(yīng)的初始值 |
| 4 | 返回指定鍵的值,如果鍵不在字典中返回 default 設(shè)置的默認(rèn)值 |
| 5 | 如果鍵在字典dict里返回true,否則返回false |
| 6 | 以列表返回一個(gè)視圖對象 |
| 7 | 返回一個(gè)視圖對象 |
| 8 | 和get()類似, 但如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為default |
| 9 | 把字典dict2的鍵/值對更新到dict里 |
| 10 | 返回一個(gè)視圖對象 |
| 11 | 刪除字典 key(鍵)所對應(yīng)的值,返回被刪除的值。 |
| 12 | 返回并刪除字典中的最后一對鍵和值。 |
x = True
country_counter = {}
def addone(country):
if country in country_counter:
country_counter[country] += 1
else:
country_counter[country] = 1
addone('China')
addone('Japan')
addone('china')
print(len(country_counter))
confusion = {}
confusion[1] = 1
confusion['1'] = 2
confusion[1] += 1
sum = 0
for k in confusion:
sum += confusion[k]
print(sum)
網(wǎng)站標(biāo)題:Python3字典
分享URL:http://m.fisionsoft.com.cn/article/dhedioc.html


咨詢
建站咨詢
