Python電子教案6-1-組合數(shù)據(jù)類(lèi)型ppt課件
《Python電子教案6-1-組合數(shù)據(jù)類(lèi)型ppt課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《Python電子教案6-1-組合數(shù)據(jù)類(lèi)型ppt課件(72頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Python語(yǔ)言程序設(shè)計(jì),1,保濕成分:甘油,維他命B5,維他命E,乳酸,礦脂,海藻提取物,丙二醇,聚乙二醇,透明質(zhì)酸(玻尿酸),荷荷芭油,氨基酸,水解膠原蛋白,天然保濕因子NMF,卵磷脂,神經(jīng)酰胺,膽固醇,硬脂酸酯,豆蔻酸酯,棕櫚酸酯,甘油酸酯,山梨醇,尿素,羥基酸和糖類(lèi)等,不飽和亞油酸,亞麻酸,花生四烯酸,各種維生素等,各種植物油脂。 美白成分:維他命B3,維他命C,果酸,曲酸,乳酸,鞣花酸,熊果苷,甘草、桑樹(shù)的提取物,氨基酸多肽,VC及其衍生物、水楊酸及其衍生物、凝血酸、VB3、甘草黃酮、光苷草定,蘆薈,櫻桃,檸檬。 抗皺成分:維他命A,維他命C,維他命E,膠原蛋白,彈力蛋白, 植物胎盤(pán)素,六元?jiǎng)匐?,透明質(zhì)酸(玻尿酸),氨基酸多肽(勝肽),石榴多酚,輔酶Q10,蝦青素,原花青素,葡萄籽,橄欖葉,石榴,綠茶,白茶。還有中草藥的人參,銀杏,靈芝等。,橄欖油、香料、皂基,2,第6章 組合數(shù)據(jù)類(lèi)型,3,組合數(shù)據(jù)類(lèi)型概述,4,序列類(lèi)型,計(jì)算機(jī)不僅對(duì)單個(gè)變量表示的數(shù)據(jù)進(jìn)行處理,更多情況,計(jì)算機(jī)需要對(duì)一組數(shù)據(jù)進(jìn)行批量處理。一些例子包括: 給定一組單詞{python, data, function, list, loop},計(jì)算并輸出每個(gè)單詞的長(zhǎng)度; 給定一個(gè)學(xué)院學(xué)生信息,統(tǒng)計(jì)一下男女生比例; 一次實(shí)驗(yàn)產(chǎn)生了很多組數(shù)據(jù),對(duì)這些大量數(shù)據(jù)進(jìn)行分析;,5,序列類(lèi)型,組合數(shù)據(jù)類(lèi)型能夠?qū)⒍鄠€(gè)同類(lèi)型或不同類(lèi)型的數(shù)據(jù)組織起來(lái),通過(guò)單一的表示使數(shù)據(jù)操作更有序更容易。根據(jù)數(shù)據(jù)之間的關(guān)系,組合數(shù)據(jù)類(lèi)型可以分為三類(lèi): 序列類(lèi)型、集合類(lèi)型和映射類(lèi)型。,6,序列類(lèi)型,序列類(lèi)型是一個(gè)元素向量,元素之間存在先后關(guān)系,通過(guò)序號(hào)訪問(wèn),元素之間不排他。 集合類(lèi)型是一個(gè)元素集合,元素之間無(wú)序,相同元素在集合中唯一存在。 映射類(lèi)型是“鍵-值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),表示為(key, value)。,7,序列類(lèi)型,8,序列類(lèi)型,序列類(lèi)型是一維元素向量,元素之間存在先后關(guān)系,通過(guò)序號(hào)訪問(wèn)。 當(dāng)需要訪問(wèn)序列中某特定值時(shí),只需要通過(guò)下標(biāo)標(biāo)出即可。,9,序列類(lèi)型,由于元素之間存在順序關(guān)系,所以序列中可以存在相同數(shù)值但位置不同的元素。序列類(lèi)型支持成員關(guān)系操作符(in)、長(zhǎng)度計(jì)算函數(shù)(len())、分片([]),元素本身也可以是序列類(lèi)型。,10,序列類(lèi)型,Python語(yǔ)言中有很多數(shù)據(jù)類(lèi)型都是序列類(lèi)型,其中比較重要的是:str(字符串)、tuple(元組)和list(列表)。 元組是包含0個(gè)或多個(gè)數(shù)據(jù)項(xiàng)的不可變序列類(lèi)型。元組生成后是固定的,其中任何數(shù)據(jù)項(xiàng)不能替換或刪除。 列表則是一個(gè)可以修改數(shù)據(jù)項(xiàng)的序列類(lèi)型,使用也最靈活,11,序列類(lèi)型,序列類(lèi)型有12個(gè)通用的操作符和函數(shù),12,序列類(lèi)型,元組(tuple)是序列類(lèi)型中比較特殊的類(lèi)型,因?yàn)樗坏﹦?chuàng)建就不能被修改。元組類(lèi)型在表達(dá)固定數(shù)據(jù)項(xiàng)、函數(shù)多返回值、多變量同步賦值、循環(huán)遍歷等情況下十分有用。Python中元組采用逗號(hào)和圓括號(hào)(可選)來(lái)表示。,13,序列類(lèi)型,14,集合類(lèi)型,集合類(lèi)型與數(shù)學(xué)中集合的概念一致,即包含0個(gè)或多個(gè)數(shù)據(jù)項(xiàng)的無(wú)序組合。集合中元素不可重復(fù),元素類(lèi)型只能是固定數(shù)據(jù)類(lèi)型,例如:整數(shù)、浮點(diǎn)數(shù)、字符串、元組等,列表、字典和集合類(lèi)型本身都是可變數(shù)據(jù)類(lèi)型,不能作為集合的元素出現(xiàn)。,15,集合類(lèi)型,由于集合是無(wú)序組合,它沒(méi)有索引和位置的概念,不能分片,集合中元素可以動(dòng)態(tài)增加或刪除。集合用大括號(hào)({})表示,可以用賦值語(yǔ)句生成一個(gè)集合。,16,集合類(lèi)型,由于集合元素是無(wú)序的,集合的打印效果與定義順序可以不一致。由于集合元素獨(dú)一無(wú)二,使用集合類(lèi)型能夠過(guò)濾掉重復(fù)元素。set(x)函數(shù)可以用于生成集合。,17,集合類(lèi)型,集合類(lèi)型有10個(gè)操作符,18,集合類(lèi)型,上述操作符表達(dá)了集合類(lèi)型的4種基本操作,交集(&)、并集(|)、差集(-)、補(bǔ)集(^),操作邏輯與數(shù)學(xué)定義相同,19,集合類(lèi)型,集合類(lèi)型有10個(gè)操作函數(shù)或方法,20,集合類(lèi)型,集合類(lèi)型主要用于三個(gè)場(chǎng)景:成員關(guān)系測(cè)試、元素去重和刪除數(shù)據(jù)項(xiàng),例子如下。,集合類(lèi)型與其他類(lèi)型最大的不同在于它不包含重復(fù)元素,因此,當(dāng)需要對(duì)一維數(shù)據(jù)進(jìn)行去重或進(jìn)行數(shù)據(jù)重復(fù)處理時(shí),一般通過(guò)集合來(lái)完成。,21,映射類(lèi)型,映射類(lèi)型是“鍵-值”數(shù)據(jù)項(xiàng)的組合,每個(gè)元素是一個(gè)鍵值對(duì),即元素是(key, value),元素之間是無(wú)序的。鍵值對(duì)(key, value)是一種二元關(guān)系。在Python中,映射類(lèi)型主要以字典(dict)體現(xiàn)。,22,列表類(lèi)型和操作,23,列表類(lèi)型的概念,列表(list)是包含0個(gè)或多個(gè)對(duì)象引用的有序序列,屬于序列類(lèi)型。與元組不同,列表的長(zhǎng)度和內(nèi)容都是可變的,可自由對(duì)列表中數(shù)據(jù)項(xiàng)進(jìn)行增加、刪除或替換。列表沒(méi)有長(zhǎng)度限制,元素類(lèi)型可以不同,使用非常靈活。,24,列表類(lèi)型的概念,由于列表屬于序列類(lèi)型,所以列表也支持成員關(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,列表類(lèi)型的概念,列表用中括號(hào)([])表示,也可以通過(guò)list()函數(shù)將元組或字符串轉(zhuǎn)化成列表。直接使用list()函數(shù)會(huì)返回一個(gè)空列表。,26,列表類(lèi)型的概念,與整數(shù)和字符串不同,列表要處理一組數(shù)據(jù),因此,列表必須通過(guò)顯式的數(shù)據(jù)賦值才能生成,簡(jiǎn)單將一個(gè)列表賦值給另一個(gè)列表不會(huì)生成新的列表對(duì)象。,27,列表類(lèi)型的概念,28,列表類(lèi)型的操作,29,列表類(lèi)型的操作,30,列表類(lèi)型的操作,當(dāng)使用一個(gè)列表改變另一個(gè)列表值時(shí),Python不要求兩個(gè)列表長(zhǎng)度一樣,但遵循“多增少減”的原則,例子如下。,31,列表類(lèi)型的操作,與元組一樣,列表可以通過(guò)for…in語(yǔ)句對(duì)其元素進(jìn)行遍歷,基本語(yǔ)法結(jié)構(gòu)如下: for in : 語(yǔ)句塊,32,列表類(lèi)型的操作,列表是一個(gè)十分靈活的數(shù)據(jù)結(jié)構(gòu),它具有處理任意長(zhǎng)度、混合類(lèi)型的能力,并提供了豐富的基礎(chǔ)操作符和方法。當(dāng)程序需要使用組合數(shù)據(jù)類(lèi)型管理批量數(shù)據(jù)時(shí),請(qǐng)盡量使用列表類(lèi)型。,33,基本統(tǒng)計(jì)值計(jì)算,34,基本統(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,基本統(tǒng)計(jì)值的計(jì)算,由于平均數(shù)、標(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,基本統(tǒng)計(jì)值的計(jì)算,37,基本統(tǒng)計(jì)值的計(jì)算,38,基本統(tǒng)計(jì)值的計(jì)算,程序先后調(diào)用getNum()、mean()、dev()和median()函數(shù)。利用函數(shù)的模塊化設(shè)計(jì)能夠復(fù)用代碼并增加代碼的可讀性。每個(gè)函數(shù)內(nèi)部都采用了簡(jiǎn)單的語(yǔ)句。,39,基本統(tǒng)計(jì)值的計(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,字典類(lèi)型的計(jì)算,41,字典類(lèi)型的基本概念,通過(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,字典類(lèi)型的基本概念,字典打印出來(lái)的順序與創(chuàng)建之初的順序不同,這不是錯(cuò)誤。字典是集合類(lèi)型的延續(xù),各個(gè)元素并沒(méi)有順序之分。,43,字典類(lèi)型的基本概念,字典最主要的用法是查找與特定鍵相對(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,字典類(lèi)型的操作,通過(guò)中括號(hào)可以增加新的元素,直接使用大括號(hào)({})可以創(chuàng)建一個(gè)空的字典,并通過(guò)中括號(hào)([])向其增加元素。,45,字典類(lèi)型的操作,46,字典類(lèi)型的操作,47,字典類(lèi)型的操作,與其他組合類(lèi)型一樣,字典可以通過(guò)for…in語(yǔ)句對(duì)其元素進(jìn)行遍歷,基本語(yǔ)法結(jié)構(gòu)如下: for in : 語(yǔ)句塊,48,字典類(lèi)型的操作,字典是實(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,jieba庫(kù)的使用,50,jieba庫(kù)的概述,jieba是Python中一個(gè)重要的第三方中文分詞函數(shù)庫(kù),jieba庫(kù)是第三方庫(kù),不是安裝包自帶,需要通過(guò)pip指令安裝,51,jieba庫(kù)的解析,52,jieba庫(kù)的解析,53,文本詞頻統(tǒng)計(jì),54,《Hamlet》英文詞頻統(tǒng)計(jì),55,《Hamlet》英文詞頻統(tǒng)計(jì),觀察輸出結(jié)果可以看到,高頻單詞大多數(shù)是冠詞、代詞、連接詞等語(yǔ)法型詞匯,并不能代表文章的含義。進(jìn)一步,可以采用集合類(lèi)型構(gòu)建一個(gè)排除詞匯庫(kù)excludes,在輸出結(jié)果中排除這個(gè)詞匯庫(kù)中內(nèi)容。,56,57,《Hamlet》英文詞頻統(tǒng)計(jì),運(yùn)行程序后,輸出結(jié)果如下,58,《三國(guó)演義》人物出場(chǎng)統(tǒng)計(jì),59,《三國(guó)演義》人物出場(chǎng)統(tǒng)計(jì),60,《三國(guó)演義》人物出場(chǎng)統(tǒng)計(jì),觀察輸出結(jié)果,同一個(gè)人物會(huì)有不同的名字,這種情況需要整合處理。同時(shí),與英文詞頻統(tǒng)計(jì)類(lèi)似,需要排除一些人名無(wú)關(guān)詞匯,如“卻說(shuō)”、“將軍”等。,61,《三國(guó)演義》人物出場(chǎng)統(tǒng)計(jì),62,《三國(guó)演義》人物出場(chǎng)統(tǒng)計(jì),63,《三國(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)、夏侯?lèi)?16),64,Python之禪,65,Python之禪,什么樣的程序是好的?如何編寫(xiě)漂亮的代碼?這都是學(xué)習(xí)編程一段時(shí)間最經(jīng)常提出的問(wèn)題,卻最難回答。程序設(shè)計(jì)語(yǔ)言如同自然語(yǔ)言,好的代碼就像文學(xué)作品,不僅達(dá)意,更要優(yōu)美。那什么是“好”?什么是“優(yōu)美”?領(lǐng)悟編程代碼優(yōu)美的過(guò)程類(lèi)似參禪,除了不斷練習(xí),也需要理解一些原則。,66,Python之禪,Python編譯器以函數(shù)庫(kù)的形式內(nèi)置了一個(gè)有趣的文件,被稱為“Python之禪”(The Zen of Python)。當(dāng)調(diào)用如下一行語(yǔ)句后,會(huì)出現(xiàn)一段有趣的運(yùn)行結(jié)果。 import this,67,68,Python之禪,69,Python之禪,除了Python之禪所表達(dá)的Python設(shè)計(jì)理念,該程序還有另一段魅力:,70,Python之禪,71,Python之禪,密文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 原文:N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 密文:a b c d e f g h i j k l m n o p q r s t u v w x y z 原文:n o p q r s t u v w x y z a b c d e f g h i j k l m 這個(gè)算法可以看作是凱撒密碼的一種擴(kuò)展,相比凱撒密碼,采用循環(huán)移動(dòng)13個(gè)位置,加密和解密可以用同一個(gè)程序。,72,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Python 電子 教案 組合 數(shù)據(jù)類(lèi)型 ppt 課件
鏈接地址:http://www.3dchina-expo.com/p-1552021.html