Python電子教案6-1組合數(shù)據(jù)類型課件_第1頁(yè)
Python電子教案6-1組合數(shù)據(jù)類型課件_第2頁(yè)
Python電子教案6-1組合數(shù)據(jù)類型課件_第3頁(yè)
Python電子教案6-1組合數(shù)據(jù)類型課件_第4頁(yè)
Python電子教案6-1組合數(shù)據(jù)類型課件_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Python語(yǔ)言程序設(shè)計(jì),1,Python電子教案6-1組合數(shù)據(jù)類型,保濕成分:甘油,維他命B5,維他命E,乳酸,礦脂,海藻提取物,丙二醇,聚乙二醇,透明質(zhì)酸(玻尿酸),荷荷芭油,氨基酸,水解膠原蛋白,天然保濕因子NMF,卵磷脂,神經(jīng)酰胺,膽固醇,硬脂酸酯,豆蔻酸酯,棕櫚酸酯,甘油酸酯,山梨醇,尿素,羥基酸和糖類等,不飽和亞油酸,亞麻酸,花生四烯酸,各種維生素等,各種植物油脂。 美白成分:維他命B3,維他命C,果酸,曲酸,乳酸,鞣花酸,熊果苷,甘草、桑樹(shù)的提取物,氨基酸多肽,VC及其衍生物、水楊酸及其衍生物、凝血酸、VB3、甘草黃酮、光苷草定,蘆薈,櫻桃,檸檬。 抗皺成分:維他命A,維他命C,

2、維他命E,膠原蛋白,彈力蛋白, 植物胎盤(pán)素,六元?jiǎng)匐?,透明質(zhì)酸(玻尿酸),氨基酸多肽(勝肽),石榴多酚,輔酶Q10,蝦青素,原花青素,葡萄籽,橄欖葉,石榴,綠茶,白茶。還有中草藥的人參,銀杏,靈芝等,橄欖油、香料、皂基,2,Python電子教案6-1組合數(shù)據(jù)類型,第6章 組合數(shù)據(jù)類型,3,Python電子教案6-1組合數(shù)據(jù)類型,組合數(shù)據(jù)類型概述,4,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,計(jì)算機(jī)不僅對(duì)單個(gè)變量表示的數(shù)據(jù)進(jìn)行處理,更多情況,計(jì)算機(jī)需要對(duì)一組數(shù)據(jù)進(jìn)行批量處理。一些例子包括: 給定一組單詞python, data, function, list, loop,計(jì)算并輸出每個(gè)單

3、詞的長(zhǎng)度; 給定一個(gè)學(xué)院學(xué)生信息,統(tǒng)計(jì)一下男女生比例; 一次實(shí)驗(yàn)產(chǎn)生了很多組數(shù)據(jù),對(duì)這些大量數(shù)據(jù)進(jìn)行分析,5,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,組合數(shù)據(jù)類型能夠?qū)⒍鄠€(gè)同類型或不同類型的數(shù)據(jù)組織起來(lái),通過(guò)單一的表示使數(shù)據(jù)操作更有序更容易。根據(jù)數(shù)據(jù)之間的關(guān)系,組合數(shù)據(jù)類型可以分為三類: 序列類型、集合類型和映射類型,6,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,序列類型是一個(gè)元素向量,元素之間存在先后關(guān)系,通過(guò)序號(hào)訪問(wèn),元素之間不排他。 集合類型是一個(gè)元素集合,元素之間無(wú)序,相同元素在集合中唯一存在。 映射類型是“鍵-值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),表示為(key,

4、 value,7,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,8,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,序列類型是一維元素向量,元素之間存在先后關(guān)系,通過(guò)序號(hào)訪問(wèn)。 當(dāng)需要訪問(wèn)序列中某特定值時(shí),只需要通過(guò)下標(biāo)標(biāo)出即可,9,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,由于元素之間存在順序關(guān)系,所以序列中可以存在相同數(shù)值但位置不同的元素。序列類型支持成員關(guān)系操作符(in)、長(zhǎng)度計(jì)算函數(shù)(len())、分片(),元素本身也可以是序列類型,10,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,Python語(yǔ)言中有很多數(shù)據(jù)類型都是序列類型,其中比較重要的是:str(字符串)、t

5、uple(元組)和list(列表)。 元組是包含0個(gè)或多個(gè)數(shù)據(jù)項(xiàng)的不可變序列類型。元組生成后是固定的,其中任何數(shù)據(jù)項(xiàng)不能替換或刪除。 列表則是一個(gè)可以修改數(shù)據(jù)項(xiàng)的序列類型,使用也最靈活,11,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,序列類型有12個(gè)通用的操作符和函數(shù),12,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,元組(tuple)是序列類型中比較特殊的類型,因?yàn)樗坏﹦?chuàng)建就不能被修改。元組類型在表達(dá)固定數(shù)據(jù)項(xiàng)、函數(shù)多返回值、多變量同步賦值、循環(huán)遍歷等情況下十分有用。Python中元組采用逗號(hào)和圓括號(hào)(可選)來(lái)表示,13,Python電子教案6-1組合數(shù)據(jù)類型,序列類型,14

6、,Python電子教案6-1組合數(shù)據(jù)類型,集合類型,集合類型與數(shù)學(xué)中集合的概念一致,即包含0個(gè)或多個(gè)數(shù)據(jù)項(xiàng)的無(wú)序組合。集合中元素不可重復(fù),元素類型只能是固定數(shù)據(jù)類型,例如:整數(shù)、浮點(diǎn)數(shù)、字符串、元組等,列表、字典和集合類型本身都是可變數(shù)據(jù)類型,不能作為集合的元素出現(xiàn),15,Python電子教案6-1組合數(shù)據(jù)類型,集合類型,由于集合是無(wú)序組合,它沒(méi)有索引和位置的概念,不能分片,集合中元素可以動(dòng)態(tài)增加或刪除。集合用大括號(hào)()表示,可以用賦值語(yǔ)句生成一個(gè)集合,16,Python電子教案6-1組合數(shù)據(jù)類型,集合類型,由于集合元素是無(wú)序的,集合的打印效果與定義順序可以不一致。由于集合元素獨(dú)一無(wú)二,使用集

7、合類型能夠過(guò)濾掉重復(fù)元素。set(x)函數(shù)可以用于生成集合,17,Python電子教案6-1組合數(shù)據(jù)類型,集合類型,集合類型有10個(gè)操作符,18,Python電子教案6-1組合數(shù)據(jù)類型,集合類型,上述操作符表達(dá)了集合類型的4種基本操作,交集(&)、并集(|)、差集(-)、補(bǔ)集(),操作邏輯與數(shù)學(xué)定義相同,19,Python電子教案6-1組合數(shù)據(jù)類型,集合類型,集合類型有10個(gè)操作函數(shù)或方法,20,Python電子教案6-1組合數(shù)據(jù)類型,集合類型,集合類型主要用于三個(gè)場(chǎng)景:成員關(guān)系測(cè)試、元素去重和刪除數(shù)據(jù)項(xiàng),例子如下,集合類型與其他類型最大的不同在于它不包含重復(fù)元素,因此,當(dāng)需要對(duì)一維數(shù)據(jù)進(jìn)行去

8、重或進(jìn)行數(shù)據(jù)重復(fù)處理時(shí),一般通過(guò)集合來(lái)完成,21,Python電子教案6-1組合數(shù)據(jù)類型,映射類型,映射類型是“鍵-值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),即元素是(key, value),元素之間是無(wú)序的。鍵值對(duì)(key, value)是一種二元關(guān)系。在Python中,映射類型主要以字典(dict)體現(xiàn),22,Python電子教案6-1組合數(shù)據(jù)類型,列表類型和操作,23,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的概念,列表(list)是包含0個(gè)或多個(gè)對(duì)象引用的有序序列,屬于序列類型。與元組不同,列表的長(zhǎng)度和內(nèi)容都是可變的,可自由對(duì)列表中數(shù)據(jù)項(xiàng)進(jìn)行增加、刪除或替換。列表沒(méi)有長(zhǎng)度限制,元

9、素類型可以不同,使用非常靈活,24,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的概念,由于列表屬于序列類型,所以列表也支持成員關(guān)系操作符(in)、長(zhǎng)度計(jì)算函數(shù)(len())、分片()。列表可以同時(shí)使用正向遞增序號(hào)和反向遞減序號(hào),可以采用標(biāo)準(zhǔn)的比較操作符(=、)進(jìn)行比較,列表的比較實(shí)際上是單個(gè)數(shù)據(jù)項(xiàng)的逐個(gè)比較,25,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的概念,列表用中括號(hào)()表示,也可以通過(guò)list()函數(shù)將元組或字符串轉(zhuǎn)化成列表。直接使用list()函數(shù)會(huì)返回一個(gè)空列表,26,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的概念,與整數(shù)和字符串不同,列表要處理一組數(shù)據(jù),因此

10、,列表必須通過(guò)顯式的數(shù)據(jù)賦值才能生成,簡(jiǎn)單將一個(gè)列表賦值給另一個(gè)列表不會(huì)生成新的列表對(duì)象,27,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的概念,28,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的操作,29,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的操作,30,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的操作,當(dāng)使用一個(gè)列表改變另一個(gè)列表值時(shí),Python不要求兩個(gè)列表長(zhǎng)度一樣,但遵循“多增少減”的原則,例子如下,31,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的操作,與元組一樣,列表可以通過(guò)forin語(yǔ)句對(duì)其元素進(jìn)行遍歷,基本語(yǔ)法結(jié)構(gòu)如下: for in :

11、語(yǔ)句塊,32,Python電子教案6-1組合數(shù)據(jù)類型,列表類型的操作,列表是一個(gè)十分靈活的數(shù)據(jù)結(jié)構(gòu),它具有處理任意長(zhǎng)度、混合類型的能力,并提供了豐富的基礎(chǔ)操作符和方法。當(dāng)程序需要使用組合數(shù)據(jù)類型管理批量數(shù)據(jù)時(shí),請(qǐng)盡量使用列表類型,33,Python電子教案6-1組合數(shù)據(jù)類型,基本統(tǒng)計(jì)值計(jì)算,34,Python電子教案6-1組合數(shù)據(jù)類型,基本統(tǒng)計(jì)值的計(jì)算,以最簡(jiǎn)單的統(tǒng)計(jì)問(wèn)題為例,求解一組不定長(zhǎng)數(shù)據(jù)的基本統(tǒng)計(jì)值,即平均值、標(biāo)準(zhǔn)差、中位數(shù)。 一組數(shù)據(jù)表示為S=s0, s1, , sn-1,其算術(shù)平均值、標(biāo)準(zhǔn)差分別表示為,和,35,Python電子教案6-1組合數(shù)據(jù)類型,基本統(tǒng)計(jì)值的計(jì)算,由于平均數(shù)、

12、標(biāo)準(zhǔn)差和中位數(shù)是三個(gè)不同的計(jì)算目標(biāo),使用函數(shù)方式編寫(xiě)計(jì)算程序。 getNum()函數(shù)從用戶輸入獲得數(shù)據(jù) mean()函數(shù)計(jì)算平均值 dev()函數(shù)計(jì)算標(biāo)準(zhǔn)差 median()函數(shù)計(jì)算中位數(shù),36,Python電子教案6-1組合數(shù)據(jù)類型,基本統(tǒng)計(jì)值的計(jì)算,37,Python電子教案6-1組合數(shù)據(jù)類型,基本統(tǒng)計(jì)值的計(jì)算,38,Python電子教案6-1組合數(shù)據(jù)類型,基本統(tǒng)計(jì)值的計(jì)算,程序先后調(diào)用getNum()、mean()、dev()和median()函數(shù)。利用函數(shù)的模塊化設(shè)計(jì)能夠復(fù)用代碼并增加代碼的可讀性。每個(gè)函數(shù)內(nèi)部都采用了簡(jiǎn)單的語(yǔ)句,39,Python電子教案6-1組合數(shù)據(jù)類型,基本統(tǒng)計(jì)值

13、的計(jì)算,列表在實(shí)現(xiàn)基本數(shù)據(jù)統(tǒng)計(jì)時(shí)發(fā)揮了重要作用,表現(xiàn)在: 列表是一個(gè)動(dòng)態(tài)長(zhǎng)度的數(shù)據(jù)結(jié)構(gòu),可以根據(jù)需求增加或減少元素; 列表的一系列方法或操作符為計(jì)算提供了簡(jiǎn)單的元素運(yùn)算手段; 列表提供了對(duì)每個(gè)元素的簡(jiǎn)單訪問(wèn)方式及所有元素的遍歷方式,40,Python電子教案6-1組合數(shù)據(jù)類型,字典類型的計(jì)算,41,Python電子教案6-1組合數(shù)據(jù)類型,字典類型的基本概念,通過(guò)任意鍵信息查找一組數(shù)據(jù)中值信息的過(guò)程叫映射,Python語(yǔ)言中通過(guò)字典實(shí)現(xiàn)映射。Python語(yǔ)言中的字典可以通過(guò)大括號(hào)()建立,建立模式如下: :, :, , : 其中,鍵和值通過(guò)冒號(hào)連接,不同鍵值對(duì)通過(guò)逗號(hào)隔開(kāi),42,Python電子

14、教案6-1組合數(shù)據(jù)類型,字典類型的基本概念,字典打印出來(lái)的順序與創(chuàng)建之初的順序不同,這不是錯(cuò)誤。字典是集合類型的延續(xù),各個(gè)元素并沒(méi)有順序之分,43,Python電子教案6-1組合數(shù)據(jù)類型,字典類型的基本概念,字典最主要的用法是查找與特定鍵相對(duì)應(yīng)的值,這通過(guò)索引符號(hào)來(lái)實(shí)現(xiàn),一般來(lái)說(shuō),字典中鍵值對(duì)的訪問(wèn)模式如下,采用中括號(hào)格式: = 字典中對(duì)某個(gè)鍵值的修改可以通過(guò)中括號(hào)的訪問(wèn)和賦值實(shí)現(xiàn),44,Python電子教案6-1組合數(shù)據(jù)類型,字典類型的操作,通過(guò)中括號(hào)可以增加新的元素,直接使用大括號(hào)()可以創(chuàng)建一個(gè)空的字典,并通過(guò)中括號(hào)()向其增加元素,45,Python電子教案6-1組合數(shù)據(jù)類型,字典類型

15、的操作,46,Python電子教案6-1組合數(shù)據(jù)類型,字典類型的操作,47,Python電子教案6-1組合數(shù)據(jù)類型,字典類型的操作,與其他組合類型一樣,字典可以通過(guò)forin語(yǔ)句對(duì)其元素進(jìn)行遍歷,基本語(yǔ)法結(jié)構(gòu)如下: for in : 語(yǔ)句塊,48,Python電子教案6-1組合數(shù)據(jù)類型,字典類型的操作,字典是實(shí)現(xiàn)鍵值對(duì)映射的數(shù)據(jù)結(jié)構(gòu),請(qǐng)理解如下基本原則: 字典是一個(gè)鍵值對(duì)的集合,該集合以鍵為索引,一個(gè)鍵信息只對(duì)應(yīng)一個(gè)值信息; 字典中元素以鍵信息為索引訪問(wèn); 字典長(zhǎng)度是可變的,可以通過(guò)對(duì)鍵信息賦值實(shí)現(xiàn)增加或修改鍵值對(duì),49,Python電子教案6-1組合數(shù)據(jù)類型,jieba庫(kù)的使用,50,Pyt

16、hon電子教案6-1組合數(shù)據(jù)類型,jieba庫(kù)的概述,jieba是Python中一個(gè)重要的第三方中文分詞函數(shù)庫(kù),jieba庫(kù)是第三方庫(kù),不是安裝包自帶,需要通過(guò)pip指令安裝,51,Python電子教案6-1組合數(shù)據(jù)類型,jieba庫(kù)的解析,52,Python電子教案6-1組合數(shù)據(jù)類型,jieba庫(kù)的解析,53,Python電子教案6-1組合數(shù)據(jù)類型,文本詞頻統(tǒng)計(jì),54,Python電子教案6-1組合數(shù)據(jù)類型,Hamlet英文詞頻統(tǒng)計(jì),55,Python電子教案6-1組合數(shù)據(jù)類型,Hamlet英文詞頻統(tǒng)計(jì),觀察輸出結(jié)果可以看到,高頻單詞大多數(shù)是冠詞、代詞、連接詞等語(yǔ)法型詞匯,并不能代表文章的含

17、義。進(jìn)一步,可以采用集合類型構(gòu)建一個(gè)排除詞匯庫(kù)excludes,在輸出結(jié)果中排除這個(gè)詞匯庫(kù)中內(nèi)容,56,Python電子教案6-1組合數(shù)據(jù)類型,57,Python電子教案6-1組合數(shù)據(jù)類型,Hamlet英文詞頻統(tǒng)計(jì),運(yùn)行程序后,輸出結(jié)果如下,58,Python電子教案6-1組合數(shù)據(jù)類型,三國(guó)演義人物出場(chǎng)統(tǒng)計(jì),59,Python電子教案6-1組合數(shù)據(jù)類型,三國(guó)演義人物出場(chǎng)統(tǒng)計(jì),60,Python電子教案6-1組合數(shù)據(jù)類型,三國(guó)演義人物出場(chǎng)統(tǒng)計(jì),觀察輸出結(jié)果,同一個(gè)人物會(huì)有不同的名字,這種情況需要整合處理。同時(shí),與英文詞頻統(tǒng)計(jì)類似,需要排除一些人名無(wú)關(guān)詞匯,如“卻說(shuō)”、“將軍”等,61,Pytho

18、n電子教案6-1組合數(shù)據(jù)類型,三國(guó)演義人物出場(chǎng)統(tǒng)計(jì),62,Python電子教案6-1組合數(shù)據(jù)類型,三國(guó)演義人物出場(chǎng)統(tǒng)計(jì),63,Python電子教案6-1組合數(shù)據(jù)類型,三國(guó)演義人物出場(chǎng)統(tǒng)計(jì),輸出排序前5的單詞,運(yùn)行程序后,輸出結(jié)果如下,請(qǐng)繼續(xù)完善程序,排除更多無(wú)關(guān)詞匯干擾,總結(jié)出場(chǎng)最多的20個(gè)人物都有哪些。這里,給出參考答案。 曹操(1451)、孔明(1383)、劉備(1252)、關(guān)羽(784)、張飛(358)、 呂布(300)、趙云(278)、孫權(quán)(264)、司馬懿(221)、周瑜(217)、 袁紹(191)、馬超(185)、魏延(180)、黃忠(168)、姜維(151)、 馬岱(127)、龐德(122)、孟獲(122)、劉表(120)、夏侯惇(116,64,Python電子教案6-1組合數(shù)據(jù)類型,Python之禪,65,Python電子教案6-1組合數(shù)據(jù)類型,Python之禪,什么樣的程序是好的?如何編寫(xiě)漂亮的代碼?這都是學(xué)習(xí)編程一段時(shí)間最經(jīng)常提出的問(wèn)題,卻最難回答。程序設(shè)計(jì)語(yǔ)言如同自然語(yǔ)言,好的代碼就像文學(xué)作品,不僅達(dá)意,更要優(yōu)美。那什么是“好”?什么是“優(yōu)美”?領(lǐng)悟編程代碼優(yōu)美的過(guò)程類似參禪,除了不斷

溫馨提示

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

評(píng)論

0/150

提交評(píng)論