《python數(shù)據(jù)分析與應(yīng)用》 課件 第5章 字典_第1頁
《python數(shù)據(jù)分析與應(yīng)用》 課件 第5章 字典_第2頁
《python數(shù)據(jù)分析與應(yīng)用》 課件 第5章 字典_第3頁
《python數(shù)據(jù)分析與應(yīng)用》 課件 第5章 字典_第4頁
《python數(shù)據(jù)分析與應(yīng)用》 課件 第5章 字典_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第5章字典Python數(shù)據(jù)分析與應(yīng)用1CONTENTS5.1知識準(zhǔn)備5.2代碼補(bǔ)全和知識拓展5.3實(shí)訓(xùn)任務(wù):銀行卡密碼初始化5.4延伸高級任務(wù)目錄5.5課后習(xí)題2知識準(zhǔn)備134KeysKey1Key2Key3ValuesValue1Value2Value3字典中鍵的設(shè)定具有特殊性。在一個字典中,鍵的設(shè)定必須唯一,也就是說同一個鍵只能有一個。如果在字典中重復(fù)設(shè)定鍵,則后設(shè)定的鍵則會覆蓋之前的設(shè)定。同時,鍵是不可變的數(shù)據(jù)結(jié)構(gòu),因此鍵的數(shù)據(jù)類型只能是不可變的數(shù)據(jù)類型,如字符串、數(shù)值、元組等,而不能是列表、字典、集合等可變數(shù)據(jù)類型。鍵的唯一性和不可變數(shù)據(jù)結(jié)構(gòu)設(shè)定在值的設(shè)定上均沒有要求(如圖5-1)。知識準(zhǔn)備圖5-1字典中的鍵值對5.1.1字典的含義5.1.5字典與列表5.1.4字典的基本操作dict1={'name':'A','age':18,'height':175}#通過{}創(chuàng)建了一個字典dict1print(dict1)#打印輸出dict1dict2=dict(name='B',age=19,height=180)#通過dict()函數(shù)創(chuàng)建字典dict2print(dict2)#打印輸出dict25.1.2字典的創(chuàng)建知識準(zhǔn)備dict3={}#通過{}創(chuàng)建了一個字典dict3dict1={'name':'A','age':18,'height':175}#通過{}創(chuàng)建了一個字典dict2=dict(name='B',age=19,height=180)#通過dict()函數(shù)創(chuàng)建字典dict3={1:dict1,2:dict2}#將創(chuàng)建好的兩個字典dict1、dict2嵌入dict3中print(dict3)#打印輸出dict3dict1={'name':'A','age':18,'height':175}#通過{}創(chuàng)建了一個字典dict1['weight']=[70]#為字典dict1新增一個鍵和值print(dict1)#打印輸出dict1dict1={'name':'A','age':18,'height':175}#通過{}創(chuàng)建了一個字典print(dict1)#打印輸出dict1deldict1['height']#使用del語句刪除字典dict1的其中一個鍵heightprint(dict1)#打印輸出dict155.1.3字典的嵌套dict1={'name':'A','age':18,'height':175}#通過{}創(chuàng)建了一個字典fori,jindict1.items():#使用forin遍歷字典的鍵和值print(i,':',j)#打印輸出字典dict1的鍵和值5.1.6遍歷字典對比我們之前學(xué)習(xí)過的列表,我們發(fā)現(xiàn)列表和字典的最大區(qū)別在于,列表是有序的,列表中的元素都有自己明確的“位置”,字典顯得隨和,數(shù)據(jù)隨機(jī)排列,是無序的數(shù)據(jù)類型。因此在查找、賦值、刪除等操作中,列表是通過位置索引,字典通過鍵來索引。代碼補(bǔ)全和知識拓展26dict3={'code':['300033.SZ','600519.SZ','000002.SZ'],'name':['同花順','貴州茅臺','萬科A'],'price':[102,2008,28]}①代碼:(__________________________)#可寫多行代碼print(dict3)#輸出字典dict3②代碼:(__________________________)print(dict3)#輸出字典dict3①請補(bǔ)全下述代碼,使得刪除第三個自選股“萬科A”及其相關(guān)信息。②請補(bǔ)全下述代碼,使得增加其余兩個自選股的市盈率(PE)信息。5.2.1代碼補(bǔ)全1.整理自選股7num=input('請輸入需要轉(zhuǎn)換的數(shù)字')dict=(__________________________)foriinrange(0,len(num)):print(___[int(num[i])])#input()函數(shù)的返回值是str字符串類型,所以用其元素進(jìn)行索引時要轉(zhuǎn)換為int類型,此處我們使用了int()函數(shù)。工作中填寫票據(jù)時經(jīng)常會用到大寫(繁體)的中文數(shù)字,下面請補(bǔ)全代碼,制作一個大寫(繁體)數(shù)字查詢程序。5.2.1代碼補(bǔ)全2.設(shè)計(jì)中文數(shù)字對照程序8'Danny':{'age':19,'sex':'male','tel':}'Jenny':{'age':18,'sex':'famale','tel':}'LiMing':{'age':20,'sex':'male','tel':}①為字典中每個同學(xué)添加所在班級(class2301)②遍歷字典,輸出每個同學(xué)的信息。5.2.1代碼補(bǔ)全3.補(bǔ)全學(xué)生信息9json的全稱為“JavaScriptObjectNotation”,是一種輕量級的數(shù)據(jù)交換格式,獨(dú)立于編程語言,獨(dú)立于平臺,其本質(zhì)可以理解為字符串化的鍵值對。1.

json的含義及其語法格式Python中有一個庫json,可以用來實(shí)現(xiàn)json和字典的轉(zhuǎn)化。首先我們要使用importjson來調(diào)用這個庫。使用json.loads.()將json轉(zhuǎn)化為字典。使用json.dumps()將字典轉(zhuǎn)化為json。字典轉(zhuǎn)化為json過程中的中文問題js1=json.dumps(dict1,ensure_ascii=False)#將字典dict1轉(zhuǎn)化為json格式且不轉(zhuǎn)換為ascii,命名為js12.json與字典的區(qū)別5.2.2知識拓展:json和集合5.3實(shí)訓(xùn)任務(wù):銀行卡密碼初始化311#定義列表用于存儲銀行卡號s=[]#for循環(huán)生成連續(xù)100個卡號,存儲在列表中foriinrange(100):s1='6101009%.3d'(__________________________)s.append(s1)#使用fromkeys函數(shù)創(chuàng)建并返回一個新字典,s為key,value值設(shè)為redhats2=(__________________________)print('銀行卡號:\t\t\t密碼:')#使用for循環(huán)輸出卡號及密碼forkey,value,ins2.items():print('%s\t\t\t%s'%(key,value))5.3.1銀行卡密碼初始化5.3實(shí)訓(xùn)任務(wù)12ifflag=="a":#開啟

word=input("輸入單詞(key):")defintion=input("輸入定義值(value):")dictionary[str(word)]=str(defintion)#添加字典

print("添加成功!")pape=input("您是否要查找字典?(y/n)")#readifpape=='y':print(dictionary)else:continueelifflag=='c':check_word=input("要查找的單詞:")#檢索

forkeyinsorted(dictionary.keys()):#yesif(__________________________):print("該單詞存在!",key,dictionary[key])breakelse:#nooff='b'ifoff=='b':print("抱歉,該值不存在!")5.3.2編寫字典程序5.3實(shí)訓(xùn)任務(wù)13延伸高級任務(wù)414stu=[{'name':'小張','age':23,'score':88,'tel':'16888888883','gender':'女'},{'name':'小周','age':22,'score':98,'tel':'16823488885'},{'name':'小任','age':22,'score':100,'tel':'16888567888','gender':'男'},{'name':'小梁','age':20,'score':69,'tel':,'gender':'男'},{'name':'小王','age':17,'score':63,'tel':'16578888888'},{'name':'小劉','age':19,'score':55,'tel':'16889878877'},{'name':'小李','age':17,'score':50,'tel':'16883578841’}]#打印最高分和對應(yīng)的學(xué)生的名字max1=stu[0]['score']forxinstu:if(__________________________):max1=x['score']print('最高分:',max1,end='姓名:')forxinstu:ifx['score']==max1:print(x['name'])4.4延伸高級任務(wù):用get方法來取鍵值15下面是一些測試數(shù)據(jù):#輸入格式1輸出格式1:正確

#輸入格式2:3K01241X880824005#輸出格式2:錯誤

#輸入格式3:ABCDE#輸出格式3:錯誤

4.4延伸高級任務(wù):身份證號碼校驗(yàn)16#以下各類測試數(shù)據(jù),均可用來測試程序的有效性12345678901234567890#錯誤123abc456#錯誤1&*()qj123#錯正正確53010219200508011x#正確32#錯誤

課后習(xí)題517課后習(xí)題習(xí)題11.請根據(jù)教材課后習(xí)題圖中的json語言查詢所包含的信息并提取7月7日的氣溫。習(xí)題22.已知一個列表保存了多

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論