官术网_书友最值得收藏!

2.3.4 操作字典

利用字典,裁判長(zhǎng)迪克納瑞已經(jīng)添加了很多運(yùn)動(dòng)員,也記錄了對(duì)應(yīng)的參賽項(xiàng)目。“我能不能知道現(xiàn)在已經(jīng)添加了多少名運(yùn)動(dòng)員呢?”

“當(dāng)然可以。”洛克威爾告訴他,同樣可以使用len()來(lái)取得字典的長(zhǎng)度,也就是里面元素的個(gè)數(shù),“就像這樣。”


>>> len(roll)
6

可以使用str()將字典轉(zhuǎn)換成字符串。例如:


>>> str(roll)
"{'格蘭特蕾妮': ['10000公里競(jìng)速', 0, '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    '大熊': [0, '20000公里避障飛行', '精準(zhǔn)拋射', 0, '星礦探索'],
    '西西船長(zhǎng)': ['10000公里競(jìng)速', 0, '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    '克里克里': [0, '20000公里避障飛行', '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    '菲菲兔': ['10000公里競(jìng)速', 0, '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    '洛克威爾': ['10000公里競(jìng)速', '20000公里避障飛行', 0, '著陸技巧', 0]}"

使用type()命令可以查看變量roll的類(lèi)型:


>>> type(roll)
<class 'dict'>

“我知道了,dict就是字典的英文簡(jiǎn)寫(xiě)呀!”迪克納瑞說(shuō)。

字典還具有以下一些內(nèi)置方法,都使用“字典變量名.方法名”的形式來(lái)操作,如表2-2所示。

表2-2 字典的內(nèi)置方法

表2-2中有一個(gè)詞:遍歷。它的意思是從頭到尾對(duì)每個(gè)元素都用相同的方式處理一遍。其中有幾個(gè)比較常用,我們來(lái)試一試:


>>> roll.keys()
dict_keys(['格蘭特蕾妮', '大熊', '西西船長(zhǎng)', '克里克里', '菲菲兔', '洛克威爾'])
>>> roll.get('大熊')
[0, '20000公里避障飛行', '精準(zhǔn)拋射', 0, '星礦探索']
>>> roll.values()
dict_values([['10000公里競(jìng)速', 0, '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    [0, '20000公里避障飛行', '精準(zhǔn)拋射', 0, '星礦探索'],
    ['10000公里競(jìng)速', 0, '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    [0, '20000公里避障飛行', '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    ['10000公里競(jìng)速', 0, '精準(zhǔn)拋射', '著陸技巧', '星礦探索'],
    ['10000公里競(jìng)速', '20000公里避障飛行', 0, '著陸技巧', 0]])

“比賽要開(kāi)始了啊!”洛克威爾指著卡爾風(fēng)星球的競(jìng)技場(chǎng)說(shuō),“字典的用途可廣泛了,比如用代碼表示一張圖的時(shí)候!”

【練一練】

(1)給你一個(gè)字典:dict_RMB = {1:'壹', 2:'貳', 3:'叁', 4:'肆', 5:'伍', 6:'陸', 7:'柒', 8:'捌', 9:'玖', 10:'拾', 0:'零'},嘗試制作一個(gè)程序,當(dāng)用戶(hù)輸入一個(gè)數(shù)字時(shí),返回它的中文大寫(xiě)。

(2)字典加密:給定一個(gè)字典,用鍵組成密碼,對(duì)應(yīng)的值就組成實(shí)際的含義。比如告訴密碼為“20190122”,再按指定的字典的頁(yè)碼查出對(duì)應(yīng)的字,就知道實(shí)際的含義了。試用Python實(shí)現(xiàn)這樣一種機(jī)制。

?

主站蜘蛛池模板: 永年县| 荔浦县| 韶山市| 梁河县| 安溪县| 夏河县| 武夷山市| 玉溪市| 饶阳县| 阿拉善右旗| 瑞昌市| 舟曲县| 临夏市| 西平县| 无锡市| 金门县| 临澧县| 甘南县| 庆元县| 栖霞市| 汕尾市| 昌邑市| 界首市| 高阳县| 德昌县| 漯河市| 三都| 沙坪坝区| 东乌珠穆沁旗| 桑植县| 聊城市| 桂平市| 海盐县| 金湖县| 安达市| 海盐县| 无棣县| 屏边| 科技| 曲阳县| 崇信县|