計算機Python教學課件第3講元組與字典_第1頁
計算機Python教學課件第3講元組與字典_第2頁
計算機Python教學課件第3講元組與字典_第3頁
計算機Python教學課件第3講元組與字典_第4頁
計算機Python教學課件第3講元組與字典_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、計算機科學導論Python程序設計第3講 元組與字典信息管理系教師:柳青電子信箱:L辦公室:博識樓418電話: 67703852答疑時間:周三34節(jié),8-15周周四5-8節(jié),1-16周周五1-4節(jié),16、810、14、16、17周夜間自習輔導時間:周四1112節(jié),110周教師信息2上周回顧解決方案2將輸入的數(shù)據(jù)存放到一個列表中,再用Python語言中的sort()對列表中的數(shù)據(jù)進行排序后輸出。3結(jié)束輸出排序后的結(jié)果開始用sort( )方法對列表中數(shù)據(jù)進行排序輸入多個數(shù)據(jù)存放在變量中上周回顧思考題如果要計算列表中的所有數(shù)據(jù)的平均值,在Python中沒有類似于avg()函數(shù)可用,用什么方法可以實現(xiàn)

2、該功能?現(xiàn)有列表數(shù)據(jù)為:number_list=35,68,90,79,80,56,77編寫程序?qū)崿F(xiàn)計算上述列表中數(shù)據(jù)平均值的功能并輸出,程序保存為eg3.py4運行結(jié)果:上周回顧思考題程序代碼eg3.py5元組元組和列表類似,但其元素是不可變的,元組一旦創(chuàng)建,用任何方法都不可以修改其元素。元組的定義方式和列表相同,但定義時所有元素是放在一對圓括號“(”和“)”中,而不是方括號中。下面這些都是合法的元組:(10, 20, 30, 40)(crunchy frog, ram bladder, lark vomit)6元組操作_創(chuàng)建元組創(chuàng)建元組:使用“=”將一個元組賦值給變量。注意:如不加逗號,(

3、a)會被認為是放在括號中的字符串7元組操作_讀取元素讀取元素:用變量名加元素序號(放中括號中)即可訪問元組中某個元素同列表相同,元組的元素都有固定的順序,第一個元素序號也為0,合法的元組元素序號的規(guī)定與列表相同。8元組操作_元組切片元組切片:與列表一樣,元組也可以進行切片操作對列表切片可以得到新的列表;對元組切片可以得到新的元組。9元組操作_檢索元素使用count( )方法計算元組中某個元素出現(xiàn)的次數(shù);使用in運算符返回某個元素是否在該元組中;使用index( )方法返回某個元素在元組中的準確位置。10元組操作_變量賦值可以利用元組來一次性的對多個變量賦值。11元組和列表的區(qū)別元組中的數(shù)據(jù)一旦

4、定義就不允許更改。元組沒有append( )或extend( )方法,無法向元組中添加元素;元組沒有remove( )或pop( )方法,不能從元組中刪除元素。元組與列表相比有下列優(yōu)點:元組的速度比列表更快。如果定義了一系列常量值,而所需做的僅是對它進行遍歷,那么一般使用元組而不用列表。元組對不需要改變的數(shù)據(jù)進行“寫保護”將使得代碼更加安全。一些元組可用作字典鍵(特別是包含字符串、數(shù)值和其它元組這樣的不可變數(shù)據(jù)的元組)。列表永遠不能當做字典鍵使用,因為列表不是不可變的。12元組和列表的轉(zhuǎn)換元組可轉(zhuǎn)換成列表,反之亦然。內(nèi)建的tuple( )函數(shù)接受一個列表參數(shù),并返回一個包含同樣元素的元組lis

5、t( )函數(shù)接受一個元組參數(shù)并返回一個列表。從效果上看,tuple( )凍結(jié)列表,而list( )融化元組。13示例1:元組和列表的轉(zhuǎn)換新建一個元組tuple_new(68,19.0, auto,True)把元組tuple_new轉(zhuǎn)換為列表list_change在列表list_change中添加元素98,03,10,tiger最后把列表list_change再轉(zhuǎn)換為元組tuple_change顯示列表和元組中的元素程序保存為eg1_change.py14運行結(jié)果示例1:程序eg1_change.py15字典定義字典是鍵值對的無序、無重復的集合。字典中的每個元素包含兩部分:鍵和值,向字典添加一個

6、鍵的同時,必須為該鍵增添一個值。16字典操作_創(chuàng)建字典創(chuàng)建字典定義字典時,每個元素的鍵和值用冒號分隔,元素之間用逗號分隔,所有的元素放在一對大括號“”和“”中。17a_dict=server:,database:mysql字典操作_查找值查找值字典定義后,可以通過鍵來查找值,反之則不允許。18字典操作_顯示字典顯示字典的鍵和值顯示字典的鍵顯示字典的值19字典操作_遍歷字典遍歷字典可以用循環(huán)語句來遍歷字典中每個元素的鍵和值。20字典操作_添加修改添加和修改字典字典沒有預定義的大小限制。可以隨時向字典中添加新的鍵值對,或者修改現(xiàn)有鍵所關聯(lián)的值添加和修改的

7、方法相同,都是使用“字典變量名鍵名=鍵值”的形式區(qū)分究竟是添加還是修改是看鍵名與字典中現(xiàn)有的鍵名是否重復,因為字典中不允許有重復的鍵。如不重復則是添加新健值對,如重復則是將該鍵對應的值修改為新值。21字典操作_字典長度字典長度與列表、元組類似,可以用len( )函數(shù)返回字典中鍵的數(shù)量。22a_dict=server:,database:mysql,zero:this is 0字典操作_字典檢索字典檢索可以使用in運行符來測試某個特定的鍵是否在字典中。23a_dict=server:,database:mys

8、ql,zero:this is 0字典操作_刪除1刪除元素和字典可以使用del語句刪除指定鍵的元素或整個字典a_dict= database: blog, server: , user: mark24字典操作_刪除2刪除元素和字典使用clear( )方法來刪除字典中所有元素比較a_dict.clear( ) 將刪除字典中所有元素del a_dict 將刪除整個字典。25字典操作_刪除3刪除元素和字典使用pop ()方法刪除并返回指定鍵的元素。a_dict= database: blog, server: ,

9、 user: mark26示例2:字典應用,保存為eg2_dict.py創(chuàng)建字典studscore = 唐僧: 55, 孫悟空: 78, 豬八戒: 40, 沙僧: 96, 如來: 65, 觀音: 92, 白骨精: 70, 紅孩兒: 99, 太上老君: 68, 白龍馬: 87添加和修改字典添加太白金星: 缺考, 玉皇大帝:90將“唐僧”的成績改為60刪除“白骨精“的成績,統(tǒng)計元素個數(shù),實現(xiàn)輸入姓名能查找成績27運行結(jié)果示例2:程序eg2_dict.py28示例3 字典問題提出問題:查字典問題 問題描述:根據(jù)用戶輸入的關鍵字的簡寫查詢相應名稱解釋。分析:將一些程序設計中常用名稱存放在字典中,鍵是其

10、英文的第一個字母,值是該名稱的解釋。由用戶輸入要查詢的名稱的英語第一個字母,若在合法的范圍內(nèi)則進行查詢、輸出,若不在范圍內(nèi)則結(jié)束程序。29 比如:定義這樣一個字典,通過輸入ae,得到該名稱的解釋 a:algorithm,算法,解決一種問題的大致步驟 b:bug,臭蟲,程序里的錯誤 c:compile,編譯,把用高級程序語言寫的程序轉(zhuǎn)換成低級語言 d:debugging,除蟲,找到及移除程序設計錯誤的過程 e:exception,異常,執(zhí)行錯誤的另一個名稱運行結(jié)果:字典問題算法流程圖開始定義字典結(jié)束輸入ae范圍內(nèi)的字母輸出查字典的結(jié)果30字典問題程序eg3_dict.py31理解該程序問題:表示什么意思?思考題:改進示例2將示例2另存為“eg2_dict_改進.py”要求:可以輸入多個姓名,得到成績,當字典中沒

溫馨提示

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

評論

0/150

提交評論