我們已經(jīng)知道,List 和 tuple 可以用來表示順序集合,例如,班里同學(xué)的名字:
['Alice', 'Bob', 'Candy', 'David', 'Ellena'] # List ('Alice', 'Bob', 'Candy', 'David', 'Ellena') # tuple
或者考試的成績:
[45, 60, 75, 86, 49] # list (45, 60, 75, 86, 49) # tuple
如果同學(xué)名字的列表和同學(xué)成績的列表是一一對(duì)應(yīng)的,那么通過下標(biāo),我們也可以找到每個(gè)同學(xué)的成績。
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'] scores = [45, 60, 75, 86, 49] index = 0 for name in names: score = scores[index] print('name = {}, score = {}'.format(name, score)) index = index + 1
事實(shí)上,我們可以得到這樣的映射。
'Alice' ==> 45 'Bob' ==> 60 'Candy' ==> 75 'David' ==> 86 'Ellena' ==> 49
但是使用兩個(gè)list,始終有些麻煩的,尤其是需要變換一個(gè)列表的順序后,另外一個(gè)列表也需要做同樣的變換,否則就可能出現(xiàn)對(duì)應(yīng)不上的問題。
python的dict就是專門保存這種映射的,使用dict可以方便的保存“名字”->“成績”的映射。
在dict中,每一項(xiàng)包含一個(gè)key和一個(gè)value,key和value是一一對(duì)應(yīng)的,在解決上面的問題中,我們可以使用名字作為key,成績作為value,那么dict的定義如下:
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 }
在定義里,我們使用花括號(hào){}
表示這是一個(gè)dict,然后key和value之間使用冒號(hào):
分割,并且每一組key:value
的最后,以逗號(hào),
表示這一組的結(jié)束。
我們也可以使用以下的方式定義一個(gè)dict。
d = dict() print(d) # ==> {}
不過這種定義方式,默認(rèn)得到的是一個(gè)空dict,需要調(diào)用函數(shù)往里面添加數(shù)據(jù),我們后面會(huì)繼續(xù)學(xué)習(xí)。
新來的Gaven同學(xué)成績是86,請(qǐng)編寫一個(gè)dict,把Gaven同學(xué)的成績也加進(jìn)去。
d = { 'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49 }
參考答案:
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49,
'Gaven': 86
}
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)