Python列表、元組和字典課件_第1頁
Python列表、元組和字典課件_第2頁
Python列表、元組和字典課件_第3頁
Python列表、元組和字典課件_第4頁
Python列表、元組和字典課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、案例導(dǎo)入案例一:小明是輔導(dǎo)員,在學(xué)校被分派了給學(xué)生分配興趣小組的任務(wù),他想通過編寫程序完成隨機分配,將N位學(xué)生隨機分配給M個興趣小組。如果你是小明,請問你將會在程序中如何保存同學(xué)名單與分組的信息?第6章 列表、元組和字典案例二:小明作為輔導(dǎo)員,為了方便與班上的同學(xué)聯(lián)系,他想制作一個電子通訊錄。如果你是小明,請問你將會在程序中如何保存同學(xué)的電話號碼等通訊信息?第1頁,共35頁。1列表的嵌套元組(Tuple) 字典(Dictionary)目 錄列表(List)234第2頁,共35頁。6.1 列表(List)列表既是Python中最基本的數(shù)據(jù)結(jié)構(gòu)又是最常用的數(shù)據(jù)類型。我們可以把列表看作一個大的表格,

2、表格中的每個元素都分配一個數(shù)字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。創(chuàng)建一個列表,只要把逗號分隔的不同的數(shù)據(jù)項使用方括號括起來即可。從上面的例子可以看到,列表的數(shù)據(jù)項不需要具有相同的類型,可以存儲豐富的信息。對于列表的其他特性,我們接下來進(jìn)行詳細(xì)的學(xué)習(xí)。如下所示,我們創(chuàng)建一個person列表,第0、1、2個元素分別是一個人的名字、性別、年齡:person = Xiao, Male ,18 第3頁,共35頁。6.1 列表(List)訪問列表元素我們可以根據(jù)下標(biāo)訪問列表中的單個元素,如下:列表的介紹 list_1=1,4,9,16,25 list_101 list_11

3、4倒序訪問: list_1-125第4頁,共35頁。6.1 列表(List)列表的介紹訪問列表元素 list_11:34,9 list_1-3:9, 16, 25 list_1-3:49, 16第5頁,共35頁。6.1 列表(List)不同于String,列表在Python中是可變的,我們可以更新列表中的內(nèi)容。以下,我們通過append()方法來在列表的末尾添加一個元素: list_2= list_2.append(Hadoop) list_2.append(Spark) list_2Hadoop, Spark列表的介紹更新列表第6頁,共35頁。6.1 列表(List)也可以通過以下方式,在l

4、ist的尾部添加一個列表的元素: list_2=list_2+Flume,Kafka list_2Hadoop, Spark, Flume, Kafka列表的介紹更新列表第7頁,共35頁。6.1 列表(List)還可以修改列表中的元素: list_23=Redis list_2Hadoop, Spark, Flume, Redis列表的介紹更新列表第8頁,共35頁。6.1 列表(List)當(dāng)然還可以一次性修改列表中多個位置連續(xù)的元素: list list_21:3=S,F list_2Hadoop, S, F, Redis列表的介紹更新列表第9頁,共35頁。6.1 列表(List)刪除操作也是

5、必不可少的: list_3=physics,chemistry,mathmatics del list_31 list_3physics, mathmatics列表的介紹刪除列表元素第10頁,共35頁。6.1 列表(List)通常我們用循環(huán)語句可以很容易地遍歷列表中的數(shù)據(jù)并對其進(jìn)行處理, 列表的循環(huán)遍歷我們首先創(chuàng)建列表list如下: list=apple,banana,grape,peach,orange,pear,strawberry接下來我們以for循環(huán)為例,介紹Python中列表的循環(huán)遍歷。第11頁,共35頁。6.1 列表(List)循環(huán)中輪流取出元素的值: 列表的循環(huán)遍歷按元素遍歷 l

6、ist=apple,banana,grape,peach,orange,pear,strawberry for fruit in list: .print(fruit).applebananagrape peachorangepearstrawberry第12頁,共35頁。6.1 列表(List)按下標(biāo)遍歷我們還可以通過len()計算出list的長度,也即是list下標(biāo)的取值范圍,循環(huán)中通過下標(biāo)訪問元素: for i in range(len(list):.print(listi) 列表的循環(huán)遍歷第13頁,共35頁。6.1 列表(List)使用enumerate遍歷循環(huán)中輪流取出元素的值: 列

7、表的循環(huán)遍歷 for i, val in enumerate(list):.print (序號:%s 值:%s % (i + 1, val).序號:1 值:apple序號:2 值:banana序號:3 值:grape序號:4 值:peach序號:5 值:orange序號:6 值:pear序號:7 值:strawberry enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。我們還可以結(jié)合enumerate()來遍歷list:第14頁,共35頁。6.1 列表(List)Python列表的函數(shù) 列表的

8、常見操作操作符是函數(shù)的一種,以下“+”號用于組合列表,“*”號用于重復(fù)列表。Python 表達(dá)式結(jié)果描述len(1, 2, 3)3長度1, 2, 3 + 4, 5, 61, 2, 3, 4, 5, 6組合Hi! * 4Hi!, Hi!, Hi!, Hi!重復(fù)3 in 1, 2, 3True元素是否存在于列表中for x in 1, 2, 3: print x,1 2 3迭代表6-1 Python列表腳本操作符第15頁,共35頁。6.1 列表(List)Python還包含以下常用函數(shù): 列表的常見操作表6-2 Python列表內(nèi)置函數(shù)第16頁,共35頁。6.1 列表(List)Python列表的

9、方法 列表的常見操作表6-3 Python列表內(nèi)置方法序號方法描述1list.append(obj)在列表末尾添加新的對象 2list.count(obj)統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)3list.extend(seq)在列表末尾一次性追加另一個序列中的多個值(用新列表擴(kuò)展原來的列表)4list.index(obj)從列表中找出某個值第一個匹配項的索引位置5list.insert(index, obj)將對象插入列表6list.pop(index=-1)移除列表中一個元素(默認(rèn)最后一個),并且返回該元素值7list.remove(obj)移除列表中某個值的第一個匹配項8list.reverse

10、()反向列表中元素9list.sort(cmp=None, key=None, reverse=False)對原列表進(jìn)行排序第17頁,共35頁。1列表的嵌套元組(Tuple) 字典(Dictionary)目 錄列表(List)234第18頁,共35頁。6.2 列表的嵌套在上一節(jié)的內(nèi)容中,我們已經(jīng)學(xué)會了什么是列表。列表里面的元素可以包含另一個列表嗎?答案是肯定的。我們本節(jié)來了解列表的嵌套。什么是列表的嵌套列表嵌套案例分配學(xué)生到不同興趣小組第19頁,共35頁。6.2 列表的嵌套我們首先創(chuàng)建兩個列表list_1和list_2如下: list_1=I am a inner list list_2=I

11、am a outer list接下來我們將list_1放入list_2中: list_2.append(list_1) list_2I am a outer list, I am a inner list以上就是一個最簡單的列表的嵌套的例子。什么是列表的嵌套第20頁,共35頁。6.2 列表的嵌套什么是列表的嵌套依照以上方法,我們可以任意在列表中嵌套列表,以下代碼是對任意多重嵌套列表的遍歷:def printlist(list): def printlist(list):. . 現(xiàn)有一個列表,里面元素包括數(shù)字、字母等元素以及包含這類元素的列表,現(xiàn)在我們輸出這個列表中的所有非列表元素,如:1,2,

12、3,2,3,1,3,12,22,a,12,輸出:1, 2, 3, 2, 3, 1, 3, 12, 22, a, 12第21頁,共35頁。6.2 列表的嵌套什么是列表的嵌套第22頁,共35頁。2、列表嵌套案例分配學(xué)生到不同興趣小組 一個學(xué)校,有3個興趣小組,現(xiàn)在有8位學(xué)生等待小組的分配,請編寫程序,完成隨機的分配? 有3個興趣小組,然后每個興趣小組將包含隨機分配的小組成員,需要用到列表的嵌套, 如:school_teams= 小組1, 小組2, 小組3 什么是列表的嵌套第23頁,共35頁。2、列表嵌套案例分配學(xué)生到不同興趣小組什么是列表的嵌套 另外,我們還學(xué)要一個普通的列表保存全體學(xué)生的名單:

13、student_names = 李小明,王華,吳小莉,張三,李四,牛二,王五,吳六 最后,我們引入隨機函數(shù)來幫組我們做分配。函數(shù)random.randint(0,2)將隨機產(chǎn)生數(shù)字02來作為小組13在school_teams中的下標(biāo)。具體代碼如下:第24頁,共35頁。1列表的嵌套元組(Tuple) 字典(Dictionary)目 錄列表(List)234第25頁,共35頁。6.3 元組(Tuple)Python的元組與列表類似,不同之處在于元組的元素不能修改,且元組使用小括號,列表使用方括號。由于元組是不可修改的,其主要作用是作為參數(shù)傳遞給函數(shù)調(diào)用、或是從函數(shù)調(diào)用那里獲得參數(shù)時,保護(hù)其內(nèi)容不被

14、外部接口修改。下面我們主要來學(xué)習(xí)元組的創(chuàng)建和訪問。創(chuàng)建一個元組: tuple_1=(1,physics,98)創(chuàng)建一個空元組: tuple_2=( )創(chuàng)建一個元素的元組: tuple_3=(1, )第26頁,共35頁。6.3 元組(Tuple)訪問一個元組: tuple_101 tuple_11physics tuple_1298元組的連接: tup1=(1,2) tup2=(a,b) tup1+tup2(1, 2, a, b)表6-4 Python元組內(nèi)置函數(shù)序號方法描述1len(tuple)計算元組元素個數(shù) 2max(tuple) 返回元組中元素最大值 3min(tuple) 返回元組中元

15、素最小值 4tuple(seq) 將列表轉(zhuǎn)為元組 第27頁,共35頁。1列表的嵌套元組(Tuple) 字典(Dictionary)目 錄列表(List)234第28頁,共35頁。6.4、字典(Dictionary)字典是一種通過名字或者關(guān)鍵字引用的數(shù)據(jù)結(jié)構(gòu),也就是說我們給一個字典里面的每個值都取了名字也就是鍵,在這個字典中,我們可以通過這個名字訪問對應(yīng)的數(shù)據(jù)值。在一個字典中,鍵是不重復(fù)的,不同建對應(yīng)的值可以是相同的。字典介紹字典的常見操作第29頁,共35頁。6.4、字典(Dictionary) 字典介紹字典的每個鍵值 key=value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個

16、字典包括在花括號 中 ,格式如下所示:d = key1 : value1, key2 : value2 比如我們可以創(chuàng)建一個字典,用于做我們的電話簿: tel_book= Alice: 2341, Beth: 9102, Cecil: 3258 tel_bookAlice: 2341, Beth: 9102, Cecil: 3258現(xiàn)在我們想知道Alice的電話號碼,我們可以根據(jù)“Alice”這個名字訪問: tel_bookAlice2341第30頁,共35頁。6.4、字典(Dictionary) 字典介紹當(dāng)然,我們還可以用字典來描述某個事物的各個屬性,比如一個學(xué)生的信息: student =

17、 Name:Lily,Age:19,Sex:Female,Class:3163 studentName: Lily, Age: 19, Sex: Female, Class: 3163第31頁,共35頁。6.4、字典(Dictionary) 字典介紹如果我們想知道學(xué)生的姓名、年齡等,將屬性作為鍵來訪問對應(yīng)的值即可: student studentNameLily studentAge 19字典可以直接修改已有屬性的值,比如我們的Lily長大了一歲: studentAge 19 studentAge=studentAge+1 studentAge20還可以添加新屬性、刪除舊屬性。我們刪除Lily

18、的班級年級信息,添加上住址: del studentClass del studentGrade studentAddress=Flower Park 111 studentName: Lily, Age: 20, Sex: Female, Address: Flower Park 111第32頁,共35頁。6.4、字典(Dictionary) 字典的常見操作本節(jié)我們分函數(shù)和方法來介紹字典的常見操作。 表6-5 Python字典內(nèi)置函數(shù)第33頁,共35頁。6.4、字典(Dictionary) 字典的常見操作表6-6 Python字典內(nèi)置方法第34頁,共35頁。6.4、字典(Dictionary) 字典的遍歷字典的遍歷可以分三種,根據(jù)鍵遍歷、根據(jù)值遍歷、根據(jù)字典項遍歷。我們先創(chuàng)

溫馨提示

  • 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

提交評論