04項目四 Python數(shù)據(jù)結(jié)構(gòu)_第1頁
04項目四 Python數(shù)據(jù)結(jié)構(gòu)_第2頁
04項目四 Python數(shù)據(jù)結(jié)構(gòu)_第3頁
04項目四 Python數(shù)據(jù)結(jié)構(gòu)_第4頁
04項目四 Python數(shù)據(jù)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩73頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目四Python數(shù)據(jù)結(jié)構(gòu)任務(wù)1進(jìn)貨清單管理2、字符串運算符3、字符串內(nèi)建函數(shù)1、字符串編碼與解碼4、格式化字符串1、字符串編碼與解碼任務(wù)1進(jìn)貨清單管理

編碼和解碼是一種二進(jìn)制和字符的映射關(guān)系,例如字母“p”的ASCII編碼為112,在計算集中存儲的二進(jìn)制值為01110000,在需要顯示到屏幕上時并不能直接顯示二進(jìn)制數(shù)字,需要顯示“a”,這就需要用到解碼。編碼:真實字符與二進(jìn)制串的對應(yīng)關(guān)系,真實字符→二進(jìn)制串。解碼:二進(jìn)制串與真實字符的對應(yīng)關(guān)系,二進(jìn)制串→真實字符。方法說明encode真實字符→二進(jìn)制串decode二進(jìn)制串→真實字符1、字符串編碼與解碼任務(wù)1進(jìn)貨清單管理str.encode([encoding="utf-8"][,errors="strict"])bytes.decode([encoding="utf-8"][,errors="strict"])參數(shù)說明如下。str:要進(jìn)行轉(zhuǎn)化的字符串。bytes:要進(jìn)行轉(zhuǎn)換的二進(jìn)制。encoding="utf-8":可選參數(shù),指定用于轉(zhuǎn)換時使用的字符編碼,默認(rèn)為UTF-8。errors="strict":可選參數(shù),指定錯誤處理方式,有四個可選值,分別為:strict默認(rèn)值代表當(dāng)遇到非法字符后拋出異常、igonre忽略非法字符、replace使用“?”替換非法字符或xmlcharrefreplace使用XML的字符引用。1、字符串編碼與解碼任務(wù)1進(jìn)貨清單管理str=input("請輸入字符:")bytes=str.encode()print(bytes)print("解碼后:",bytes.decode("utf-8"))

接收用戶輸入的字符使用UTF-8將字符轉(zhuǎn)換為二進(jìn)制,并將二進(jìn)制值重新轉(zhuǎn)換為字符。2、字符串運算符任務(wù)1進(jìn)貨清單管理

字符串運算符是指通過一些符號的組合完成對字符串的拼接、截取、重復(fù)輸出等功能。運算符說明+字符串連接*重復(fù)輸出字符串[]通過索引獲取字符串中字符[:]截取字符串中的一部分in如果字符串中包含給定的字符返回Truenotin如果字符串中不包含給定的字符返回Truer/R字符串中的所有字符均以字面意思使用,對特殊符號不進(jìn)行轉(zhuǎn)義。2、字符串運算符任務(wù)1進(jìn)貨清單管理

分別定義兩個字符串,分別賦值為“HelloPython”和“你好Python”,使用上述字符串運算符這兩個字符串進(jìn)行拼接等操作。a="HelloPython"b="你好Python"print(a+"~"+b)#將字符串a(chǎn)與b拼接并在中間加入“~”。print(a*2)#將字符串a(chǎn)輸出兩次。print(a[2])#獲取字符串a(chǎn)中索引為2的下標(biāo)。print(a[2:4])#截取字符串a(chǎn)索引2至索引4的字符。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理Python中包含很多用于對字符串進(jìn)行操作的函數(shù),稱之為字符串的內(nèi)建函數(shù),這些方法實現(xiàn)了string模塊的大部分方法。函數(shù)說明count()返回指定字符序列在測試字符串中出現(xiàn)的次數(shù)find()檢查指定字符序列是否包含在測試字符串中index()與find功能一致,當(dāng)字符序列不包含在測試字符串中時會報錯capitalize()將字符串首字母轉(zhuǎn)為大寫lower()將字符串轉(zhuǎn)換為小寫upper()將字符串轉(zhuǎn)換為大寫lstrip()刪除字符串左側(cè)空格rstrip()刪除字符串右側(cè)空格strip()刪除字符串首尾的空格split()以指定符號分隔字符串join()將字典中的每個字符串元素以指定符號分隔并合并為一個新字符串3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理檢索函數(shù)count()count函數(shù)用于檢索一個字符串在另一個字符串中出現(xiàn)的次數(shù)。string.count(sub,start=0,end=len(string))參數(shù)說明如下所示。string:原始字符串。sub:搜索的字符串。start:可選參數(shù)默認(rèn)為0,字符串開始搜索的位置,字符串第一個字符的索引為0。end:可選參數(shù)默認(rèn)字符串的最后一個值,字符串結(jié)束搜索的位置,字符串第一個字符的索引為0。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理檢索函數(shù)find()find函數(shù)用于檢索一個字符是否包含在另一個字符串中,結(jié)果如果包含在指定字符串則返回在字符串中開始的索引值,否則返回-1string.find(sub,start=0,end=len(string))參數(shù)說明如下所示。string:原始字符串。sub:指定檢索的字符串。start:開始搜索的位置索引,默認(rèn)為0。end:結(jié)束搜索的位置,默認(rèn)搜索到字符串結(jié)束。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理檢索函數(shù)index()index()函數(shù)與find()函數(shù)功能基本一直,區(qū)別在于當(dāng)index()函數(shù)沒有在原始字符串查找到內(nèi)容時會報錯。string.index(str,start=0,end=len(string))參數(shù)說明如下所示。string:原始字符串。str:指定檢索的字符串。start:開始搜索的位置索引,默認(rèn)為0。end:結(jié)束搜索的位置,默認(rèn)搜索到字符串結(jié)束。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理大小寫轉(zhuǎn)換函數(shù)Python中提供了用于對字符串進(jìn)行大小寫轉(zhuǎn)換的函數(shù)分別為capitalize()、lower()和upper()函數(shù),3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理大小寫轉(zhuǎn)換函數(shù)capitalize()能夠?qū)⒆址兴饕秊?的字符串轉(zhuǎn)換為大寫,字符串內(nèi)其他字符均轉(zhuǎn)為小寫。lower()

能夠?qū)⒆址腥看髮懽帜皋D(zhuǎn)換為等價的小寫字母,若字符串中沒有需要轉(zhuǎn)換的字符則返回原字符串,否則返回一個新的字符串,并將字符串內(nèi)的每個大寫字母轉(zhuǎn)換為等價的小寫字母。upper()能夠?qū)⒆址腥啃懽帜皋D(zhuǎn)換為等價的大寫字母,若字符串中沒有需要轉(zhuǎn)換的字符則返回原字符串,否則返回一個新的字符串,并將字符串內(nèi)的每個小寫字母轉(zhuǎn)換為等價的大寫字母。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理大小寫轉(zhuǎn)換函數(shù)上述三個函數(shù)的語法格式如下所示。string.capitalize()string.lower()string.upper()參數(shù)說明如下。string:表示要操作的字符串。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理去空格函數(shù)在接收用戶從鍵盤輸入的字符串時很可能因為輸入錯誤導(dǎo)致字符串內(nèi)包含多余的空格。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理去空格函數(shù)Python中提供三個用于去除字符串內(nèi)空格的函數(shù)分別為lstrip()、rstrip()和strip()函數(shù),lstrip()函數(shù)能夠去除字符串頭部的空格,并返回一個新字符串,如果字符串頭部沒有空格字直接返回原字符串。rstrip()函數(shù)能夠去除字符串尾部的空格,并返回一個新字符串、如果字符串尾部沒有空格則直接返回原字符串。strip()函數(shù)能夠去除字符串首尾的空格,并返回一個新字符串string.lstrip()string.rstrip()string.strip()3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理分割合并函數(shù)Python為字符串對象提供了用于合并和分割字符串的方法,分別為split()拆分和join()合并函數(shù)。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理分割合并函數(shù)split()split()函數(shù)用于將字符串按照指定符號進(jìn)行分割,并將分割后的內(nèi)容組成字符串列表,列表中的元素不包含分割符。string.split(sep,maxsplit)參數(shù)說明如下所示。string:表示要操作的字符串。sep:指定分隔符、分隔符可以有多個。maxsplit:可選參數(shù),用于指定分隔次數(shù),默認(rèn)分割次數(shù)無限制。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理分割合并函數(shù)join()join()函數(shù)用于將字符串列表中的字符按照指定分隔符連接為一個字符串,并返回一個行的字符串。stringnew=string.join(iterable)stringnew:合并后的字符串。string:指定合并時使用的分隔符。iterable:可迭代對象(字段等),迭代對象中的所有元素合并為新字符串。4、格式化字符串任務(wù)1進(jìn)貨清單管理%操作符join()Python中可以使用“%”構(gòu)建字符串格式化模板,實現(xiàn)字符串格式換。'%[-][+][0][m][.n]格式化字符'%exp參數(shù)說明如下所示。-:可選參數(shù),用于指定左對齊。+:可選參數(shù),用于指定又對齊。0:可選參數(shù),表示右對齊,用0填充空白處(一般與m一起使用)。m:可選參數(shù),表示占有寬度。.n:可選參數(shù),表示小數(shù)點后保留的小數(shù)位數(shù)。exp:要轉(zhuǎn)換的項,如果需要制定多各項,需要通過元組的形式制定。格式化字符:用于指定類型,常用的格式化字符如表4-4所示。4、格式化字符串任務(wù)1進(jìn)貨清單管理%操作符格式字符說明格式字符說明%s字符串%r字符串%c單個字符%o八進(jìn)制整數(shù)%d或%i十進(jìn)制整數(shù)%e指數(shù)(基底數(shù)為e)%x十六進(jìn)制整數(shù)%E指數(shù)(基底數(shù)為E)%f或者%F浮點數(shù)%%字符%4、格式化字符串任務(wù)1進(jìn)貨清單管理format()方法Python2.6之后加入了format()方法對字符串進(jìn)行格式化操作,是目前比較常用的字符串格式化的方法,使用%對字符串進(jìn)行格式化常用于程序開發(fā)階段使用print()方法格式化測試輸出結(jié)果時使用。string.format(args)4、格式化字符串任務(wù)1進(jìn)貨清單管理format()方法string表示格式化字符串是使用的模板,args表示要進(jìn)行轉(zhuǎn)換的項,多項可使用逗號分隔。在創(chuàng)建格式化模板時需要使用“{}”和“:”指定占位符{[index][:[[sign][#][.precision][type]]}參數(shù)說明如下所示。index:可選參數(shù),用于指定格式化對象在列表中的位置。sign:可選參數(shù),用于指定有無符號數(shù)“+”表示正數(shù)加正數(shù),負(fù)數(shù)加符號;“-”表示正數(shù)不變,負(fù)數(shù)加符號;值為空表示正數(shù)加空格,負(fù)數(shù)加符號。“#”:可選參數(shù),對于二進(jìn)制、八進(jìn)制和十六進(jìn)制的數(shù)據(jù)加“#”會添加0b/0o/0x為前綴。.precision:可選參數(shù),指定用于保留的小數(shù)位數(shù)。type:可選參數(shù):用于指定格式化符,4、格式化字符串任務(wù)1進(jìn)貨清單管理format()方法格式字符說明S對字符串類型格式化D十進(jìn)制整數(shù)C將十進(jìn)制幀數(shù)自動轉(zhuǎn)換成對應(yīng)的Unicode字符e或E轉(zhuǎn)換成科學(xué)技術(shù)法后再格式化g或G自動在e/E和f/F中切換b將十進(jìn)制整數(shù)自動轉(zhuǎn)換成二進(jìn)制表示再進(jìn)行格式化o將十進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制再進(jìn)行格式化x或X將十進(jìn)制整數(shù)轉(zhuǎn)換為十六進(jìn)制在進(jìn)行格式化f或F轉(zhuǎn)換為浮點數(shù)后進(jìn)行格式化(默認(rèn)保留六位小數(shù))%顯示百分比(默認(rèn)保留6位小數(shù))任務(wù)2音樂播放器2、訪問列表3、元素操作1、創(chuàng)建列表4、列表統(tǒng)計與排序5、元組創(chuàng)建與刪除6、訪問元組7、修改元組8、列表與元組的區(qū)別1、創(chuàng)建列表任務(wù)2音樂播放器Python中的列表由一系列按照特定順序排列的元素組成,列表中可以包含數(shù)值、字符串、列表和元組等類型的元素并且同一列表中可以同時包含多種類型的元素,每個元素之間互不影響,列表元素使用“[]”包裹,每對相鄰元素之間使用“,”分隔,Python中創(chuàng)建列表的方式有兩中賦值方式創(chuàng)建列表

賦值方式創(chuàng)建列表是指使用賦值符“=”創(chuàng)建列表,在創(chuàng)建列表時可同時為列表賦值或創(chuàng)建空列表。listname=[element1,element2,……,elementn]1、創(chuàng)建列表任務(wù)2音樂播放器將序列轉(zhuǎn)換為列表List方法能夠?qū)⑿蛄行问降臄?shù)據(jù)轉(zhuǎn)換為列表,如字符串、元組或其他可迭代的對象。list[data]2、訪問列表任務(wù)2音樂播放器索引訪問

在包括列表在內(nèi)的所有序列中每個元素都有屬于自己的編號(索引),從元素的起始位置開始,索引從0開始依次遞增。2、訪問列表任務(wù)2音樂播放器索引訪問通過索引能夠訪問序列中的任意元素,索引訪問序列元素的語法格式如下所示。list[indexes]或list[startindex:endindex]參數(shù)說明如下所示。indexes:要獲取的元素的索引號。startindex:開始獲取的元素的索引編號,與endindex一起使用。endindex:結(jié)束獲取的索引編號。與startinndex一起使用。2、訪問列表任務(wù)2音樂播放器索引訪問上述講解的索引方式訪問序列的方式使用的均是正數(shù)索引,Python中同時支持了使用負(fù)數(shù)索引訪問序列的元素,正數(shù)索引的索引編號從0開始由左向右依次遞增,負(fù)數(shù)索引編號從-1開始由右向左依次遞減,即最后一個元素的索引編號為-1,倒數(shù)第二個為-2,2、訪問列表任務(wù)2音樂播放器切片訪問

切片操作是訪問序列的第二種方式,切片能夠訪問指定范圍內(nèi)容的元素,切片完成后會返回一個新的序列。sname[start:end:step]參數(shù)說明如下所示。sname:序列名稱。start:開始切片的起始位置(結(jié)果包含該位置),默認(rèn)為0。end:切片的截止位置(輸出結(jié)果不包括該位置),默認(rèn)為序列的長度。step:切片步長,默認(rèn)為1。2、訪問列表任務(wù)2音樂播放器遍歷訪問for循環(huán)遍歷

使用for循環(huán)去遍歷列表中的元素能夠獲取元素中的每個元素,for循環(huán)遍歷的方式僅能輸出列表中元素。foriteminlistname:print(item)參數(shù)說明如下所示。item:用于保存獲取到的元素。需要輸出元素是打印該變量即可。listname:列表名稱。2、訪問列表任務(wù)2音樂播放器遍歷訪問for循環(huán)與enumerate()函數(shù)遍歷列表與單獨使用for循環(huán)遍歷列表的區(qū)別在于結(jié)合enumerate()函數(shù)能夠輸出索引和元素。參數(shù)說明如下所示。index:用于保存元素索引。item:用于保存元素listname:表示列表名稱。forindex,iteminenumerate(listname):print(index,item)3、元素操作任務(wù)2音樂播放器添加列表元素append()方法append()方法用于向列表的末尾追加新元素參數(shù)說明如下所示。listname:表示要添加元素的列表名稱。obj:表示要添加到列表“l(fā)istname”中的元素。listname.append(obj)3、元素操作任務(wù)2音樂播放器添加列表元素②extend()方法extend()方法用于在列表的末尾追加一個序列中的多個值,在使用extend()方法添加列表元素時,該方法不會將要添加到列表中的元組或列表視為一個整體,而是將每個元素分別插入到列表中。參數(shù)說明如下所示。listname:表示要添加元素的列表名稱。obj:表示要追加到列表末尾的元素。listname.extend(obj)3、元素操作任務(wù)2音樂播放器修改元素

修改列表中的元素直接通過索引獲取元素值,并使用“=”為該元素重新賦值即可,修改“xiaobaichuan”列表中索引為1的元素值xiaobaichuan[1]='小白船'print(xiaobaichuan)3、元素操作任務(wù)2音樂播放器刪除元素del關(guān)鍵字刪除元素dellistname[index]del關(guān)鍵字能夠根據(jù)索引刪除指定列表中的元素或?qū)⑦@個列表刪除,當(dāng)指定要刪除的元素索引時則只刪除列表中的指定元素,若del關(guān)鍵字后直接跟列表名稱則刪除整個列表。參數(shù)說明如下所示。listname:表示要刪除元素的列表名稱或要刪除的列表。index:列表中要刪除的元素的索引若不指定則刪除整個列表。3、元素操作任務(wù)2音樂播放器刪除元素②remove()方法刪除元素listname.remove(obj)

使用emove()方法刪除列表中的元素可以不知道要刪除元素在列表中的位置,直接指定要刪除的元素內(nèi)容即可(按照元素值刪除)參數(shù)說明如下所示。listname:要刪除元素的列表名稱。obj:要移除的列表對象。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表統(tǒng)計計算Python中為列表提供了內(nèi)置函數(shù)用于對列表進(jìn)行統(tǒng)計計算等功能,主要包含獲取列表長度、統(tǒng)計元素出現(xiàn)次數(shù)、獲取指定元素出現(xiàn)的位置和統(tǒng)計數(shù)值列表的元素和等。方法功能len()獲取列表長度max()獲取列表中的最大值min()獲取列表中的最小值count()統(tǒng)計指定元素出現(xiàn)的次數(shù)index()指定元素首次出現(xiàn)的位置sum()統(tǒng)計數(shù)值列表元素和4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表統(tǒng)計計算①len()方法len()方法能夠獲取指定列表的元素個數(shù),返回值為數(shù)值類型,獲取到的元素數(shù)量-1等于該列表最大的索引值,len(listname)參數(shù)說明如下所示。listname表示要獲取元素數(shù)量的列表名稱。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表統(tǒng)計計算②max()方法max()方法能夠獲取指定數(shù)值類型列表中最大的元素值并返回,如果列表中最大值有多個則只返回一個。max(listname)參數(shù)說明如下所示。listname表示要獲取最大元素值的列表名稱。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表統(tǒng)計計算③min()方法min()方法與max()方法相反,該方法用于獲取指定列表中的最小元素值如果有多個只返一個。min(listname)參數(shù)說明如下所示。listname表示要獲取最小元素值的列表名稱。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表統(tǒng)計計算④count()方法count()方法用于獲取指定元素在列表中出現(xiàn)的次數(shù),該方法僅能夠進(jìn)行精確匹配。listname.count(obj)參數(shù)說明如下所示。listnmae:表示要獲取元素出現(xiàn)次數(shù)的列表。obj:列表中統(tǒng)計的對象。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表統(tǒng)計計算⑤index()方法index()方法能夠獲取指定元素在列表中首次出現(xiàn)的位置,只能進(jìn)行精確匹配如果列表中不存在查找的對象會拋出異常,返回結(jié)果為列表下標(biāo)。listname.index(obj)參數(shù)說明如下所示。listnmae:表示要獲取元素出現(xiàn)次數(shù)的列表。obj:列表中統(tǒng)計的對象。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表統(tǒng)計計算⑥sum()方法sum()方法能夠統(tǒng)計出數(shù)值型列表中從指定位置開始到最后的元素值的和,。sum(iterable,[start])參數(shù)說明如下所示。iterable:表示要進(jìn)行統(tǒng)計的列表。start:可選參數(shù),表示進(jìn)行計算的起始位置,默認(rèn)為0。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表元素排序

在實際開發(fā)中經(jīng)常會遇到需要對列表中的元素進(jìn)行排序的情況,Python中提供了兩個方式對列表元素進(jìn)行排序即使用列表對象的sort()方法和使用內(nèi)容sorted()函數(shù)進(jìn)行排序。listname.sort(reverse=False)sorted(listname,reverse=False)參數(shù)說明如下所示。listname:表示要進(jìn)行排序的列表名稱。reverse:表示設(shè)置排序方式,默認(rèn)為False升序排序,設(shè)置為True為降序排序。4、列表統(tǒng)計與排序任務(wù)2音樂播放器列表元素排序注意使用sort方法對列表進(jìn)行排序會修改原列表,sorted函數(shù)不會修改原列表。分別使用sort()方法對“achievement”列表進(jìn)行降序排序,使用sorted()函數(shù)進(jìn)行升序排序,#使用sort對achievement進(jìn)行降序排序achievement.sort(reverse=False)print(achievement)

#使用sorted()函數(shù)進(jìn)行升序排序print(sorted(achievement,reverse=False))5、元組創(chuàng)建與刪除任務(wù)2音樂播放器賦值方式創(chuàng)建元組

賦值方式創(chuàng)建元組與賦值方式創(chuàng)建列表的方式類似,賦值方式創(chuàng)建元組是指使用賦值符“=”創(chuàng)建元組,在創(chuàng)建時可同時為元組賦值或創(chuàng)建空元組。#創(chuàng)建包含元素的元組tuplename=(element1,element2,...,elementn)#創(chuàng)建空元組tuplename=()參數(shù)說明如下所示。tuplename:表示元組名稱。element1:元組中的元素,可選參數(shù)若不填寫元素則創(chuàng)建空元組。5、元組創(chuàng)建與刪除任務(wù)2音樂播放器tuple函數(shù)創(chuàng)建元組Tuple函數(shù)能夠?qū)⒆址⒘斜砘蚱渌傻膶ο筠D(zhuǎn)換為元組,需要注意的是在將字符串轉(zhuǎn)換為元組是tuple函數(shù)會將字符串中的每個字符視為單獨的元素添加到元組中。tuple(data)data表示可以轉(zhuǎn)化為元組的數(shù)據(jù),包括字符串、元組或其他可迭代對象。5、元組創(chuàng)建與刪除任務(wù)2音樂播放器tuple函數(shù)創(chuàng)建元組使用tuple()函數(shù)分別將字符串和列表轉(zhuǎn)換為元組,并輸出結(jié)果print("將字符串轉(zhuǎn)換為元組")str="HelloPython"tuplestr=tuple(str)print(tuplestr)

print("將列表轉(zhuǎn)換為元組")wagestab=(4500,5500,8700,9400)tuplewages=tuple(wagestab)print(wagestab)5、元組創(chuàng)建與刪除任務(wù)2音樂播放器刪除元組Python中元組的刪除方法與列表一致,使用del關(guān)鍵即可刪除不需要的元組,使用del關(guān)鍵字刪除“wagestab”元組。delwagestabprint(wagestab)6、訪問元組任務(wù)2音樂播放器索引訪問

使用索引方式訪問元組與使用索引方式列表方法一致,可指定需要訪問元素下標(biāo)或不指定索引輸出全部內(nèi)容,當(dāng)輸出全部內(nèi)容時結(jié)果會使用“()”包裹,當(dāng)指定輸出某元素時無小括號。創(chuàng)建“menu”元組并使用索引方式訪問。menu=('首頁','新聞','簡介','關(guān)于我們')print(menu)print(menu[3])6、訪問元組任務(wù)2音樂播放器切片訪問

元組元素第二中訪問方式為切片訪問,元組切片方式訪問方式與列表切片訪問方式一樣,使用切片方式訪問“menu”元組中的前三個元素print(menu[:3])6、訪問元組任務(wù)2音樂播放器遍歷訪問

元組的遍歷訪問可以使用for循環(huán)或使用for循環(huán)與enumerate函數(shù)實現(xiàn),for循環(huán)僅能獲取元素值,for循環(huán)與enumerate函數(shù)結(jié)合的方式能夠同時獲得元素值和與元素對應(yīng)的索引,元組遍歷訪問的方法與列表遍歷方法一致,使用兩種方式遍歷“menu”元組。print("for循環(huán)遍歷元組")foriteminmenu:print(item)

print("for循環(huán)和enumerate函數(shù)遍歷元組")Forindex,iteminenumerate(menu):print(index,item)7、修改元組任務(wù)2音樂播放器對元組重新賦值

元組重新賦值與通過賦值的方式創(chuàng)建元組在使用時并無區(qū)別,Python會將新元組的內(nèi)容已覆蓋的方式賦值到元組達(dá)到修改的目的,使用重新賦值的方式修改“menu”元組的內(nèi)容。print("原元組:",menu)

#修改元組menu=("賬號注冊","考試報名","成績查詢","信息管理","退出")print("修改后的元組:",menu)7、修改元組任務(wù)2音樂播放器連接元組

元組雖然是一個不可變序列但能夠使用連接的方式對元組進(jìn)行擴展,連接符使用“+”表示,元組連接等同于重新為元組賦值,使用連接的方式擴展“menu”元組。print("原元組:",menu)

#連接生成新元組menu=menu+('首頁','新聞','簡介','關(guān)于我們')print("連接后的元組:",menu)8、列表與元組的區(qū)別任務(wù)2音樂播放器列表與元組均屬于序列,并且都能夠按照特定的順去存儲類型不受限制的一組元素,列表與元組并不完全相同,列表與元組的具體區(qū)別如下所示。列表是一個可變序列能夠單獨修改其中的某個元素,而元組屬于不可變序列不能夠更改其中某個元素的值。列表能夠使用Python提供的內(nèi)置方法為其添加、修改或移除元素,元組中并不包含此類方法,因為元組是不可變序列不能修改。列表能夠通過切片的方式訪問元素或修改,列表只能夠通過切片訪問元素值。元組比列表訪問速度快。元組能夠作為字典的鍵,列表不能。任務(wù)3用戶注冊登錄2、訪問字典3、字典元素操作1、字典創(chuàng)建4、集合創(chuàng)建5、訪問集合6、集合內(nèi)置方法7、集合計算1、字典創(chuàng)建任務(wù)3用戶注冊登錄

通過賦值方式創(chuàng)建字典的方式與列表相似,“=”前設(shè)置字典名稱,“=”后設(shè)置字典中包含的元素并將元素放到“{}”內(nèi)。賦值方式創(chuàng)建dictname={'key1':'value1','key2':'value2',…,'keyn':'valuen'}參數(shù)說明如下所示。dictname:字典名稱。key:表示元素的鍵,該值必須是唯一的。value:表示元素的值,可以為任意類型的任意數(shù)據(jù)。使用賦值方式創(chuàng)建名為“studentdict”字典,并添加元素studentdict={'stuno':'02022001','name':'tom','age':22}print(studentdict)1、字典創(chuàng)建任務(wù)3用戶注冊登錄dict()函數(shù)能夠?qū)⒁延袛?shù)據(jù)快速轉(zhuǎn)換為字典,并且能夠創(chuàng)建空字典,使用dict函數(shù)將已有數(shù)據(jù)轉(zhuǎn)換為字典的方式有兩種分別為通過dict()映射函數(shù)創(chuàng)建字典和通過給定的鍵值對創(chuàng)建字典。通過dict函數(shù)創(chuàng)建字典#通過dict()映射函數(shù)創(chuàng)建字典dictname=dic(zip(list1,list2))#通過給定鍵值對創(chuàng)建字典dictname=dic(key1=value1,key2=value2,…,keyn=valuen)參數(shù)說明如下。dictname:表示字典名稱。zip函數(shù):用于將多個列表或元組對應(yīng)未知的元素組合為元組,并返回包含這些內(nèi)容的zip對象。list1:表示一個列表,該列表中的元素表示字典中的鍵。list2:表示一個列表,該列表中的元素表示字典中的值,如果兩個列表長度不相同,則與最短列表長度相同。key1:表示元素鍵。value1:表示元素的值,可以為任何數(shù)據(jù)類型,可重復(fù)。1、字典創(chuàng)建任務(wù)3用戶注冊登錄創(chuàng)建兩個列表,列表1包含長方體長寬高的鍵值,列表2包含長方體的長寬和高,通過dict()映射函數(shù)創(chuàng)建名為“cuboiddict”字典。通過dict函數(shù)創(chuàng)建字典list1=['long','wide','high']list2=[20,15,10]cuboiddict=dict(zip(list1,list2))print(cuboiddict)1、字典創(chuàng)建任務(wù)3用戶注冊登錄Python中提供了fromkeys()方法用于創(chuàng)建具有默認(rèn)值的字段,具有默認(rèn)值的字典是只為字典中的所有鍵設(shè)置一個相同的默認(rèn)值。創(chuàng)建包含默認(rèn)值的字典dictname=dict.fromkeys(list,value)參數(shù)說明如下所示。dictname:表示字典名稱。list:表示一個列表,列表中包含字典中所有的鍵value:為鍵設(shè)置的默認(rèn)值,若不指定默認(rèn)為None。1、字典創(chuàng)建任務(wù)3用戶注冊登錄創(chuàng)建名“winelist”的列表和名為“l(fā)iquorprice”的字典,將默認(rèn)值設(shè)為“無貨”。創(chuàng)建包含默認(rèn)值的字典winelist=['啤酒','白酒','葡萄酒']liquorprice=dict.fromkeys(winelist,'無貨')print(liquorprice)2、訪問字典任務(wù)3用戶注冊登錄字典的訪問方式與列表類似,列表使用通過索引訪問對應(yīng)的元素值而字典是通過指定鍵獲得與其對應(yīng)的元素值,最后使用print()函數(shù)輸出。使用指定鍵訪問print(dictname[key])參數(shù)說明如下所示。dictname:表示字典名稱。key:字典中存在鍵名稱,若不指定鍵名在獲得字典中的所有元素。2、訪問字典任務(wù)3用戶注冊登錄字典中存儲的元素為鍵值對,當(dāng)需要對每個元素進(jìn)行操作時可以使用遍歷的方式獲取字典中的鍵值對然后對當(dāng)前獲取到的鍵值對進(jìn)行操作,字典中的items()方法能夠獲取到字典中的鍵值對,結(jié)合for循環(huán)能夠完成字典的遍歷,遍歷方式訪問字典dictionaries.items()Dictionaries表示字典對象,該方法返回值為可遍歷的鍵值對類型的元組列表,可通過使用for循環(huán)的形式遍歷元組列表。遍歷獲取鍵值對的方式有兩種,分別為獲取鍵值對和分別獲取鍵和值,語法格式如下所示。#獲取鍵值對foritemsindictionaries.items():print(items)forkey,valueindictionaries.items():print('鍵為:',key)print('值為:',value)2、訪問字典任務(wù)3用戶注冊登錄使用指定鍵和遍歷的方式訪問“studentdict”列表中的元素遍歷方式訪問字典#使用指定鍵的形式訪問字典print(studentdict['stuno'])

#使用遍歷方式獲取字典中的鍵值對foritemsinstudentdict.items():print(items)

#使用遍歷方式分別獲取鍵和值forkey,valueinstudentdict.items():print('鍵為:',key)print('值為:',value)3、字典元素操作任務(wù)3用戶注冊登錄

添加元素是指向字典中添加一組新的鍵值對,添加元素的方式使用賦值方式實現(xiàn),若字典中已有指定的鍵則對字典中對應(yīng)的值進(jìn)行修改。添加元素與修改dictionaries[key]=value參數(shù)說明如下所示。dictionaries:表示要添加元素的字典名稱。key:要添加或修改的元素鍵。value:要添加或修改的元素值。3、字典元素操作任務(wù)3用戶注冊登錄

刪除字典元素與刪除列表元素使用的方法一致均使用del關(guān)鍵字實現(xiàn),當(dāng)刪除一個不存在的元素是Python會拋出異常刪除字典元素deldictionaries[key]參數(shù)說明如下所示。dictionaries:表示要刪除元素的字典名。key:要刪除元素的鍵。3、字典元素操作任務(wù)3用戶注冊登錄向“studentdict”字典中添加元素鍵為“gender”值為“男”,并將鍵為年齡的元素刪除。刪除字典元素#添加元素studentdict['gender']="男"print(studentdict)

#刪除元素delstudentdict['age']print(studentdict)4、集合創(chuàng)建任務(wù)3用戶注冊登錄使用賦值方式創(chuàng)建結(jié)合與賦值方式創(chuàng)建集合的方式一樣,“=”前設(shè)置字典名稱,“=”后設(shè)置字典中包含的元素并將元素放到“{}”內(nèi)。賦值方式創(chuàng)建集合#賦值方式創(chuàng)建可變集合aggregate={element1,element2,……,elementn}set()函數(shù)創(chuàng)建結(jié)合set()函數(shù)能夠?qū)⒖傻鷮ο笕缱址D(zhuǎn)、列表、元組等對象轉(zhuǎn)換為集合類型aggregate=set(iteration)參數(shù)說明如下所示。aggregate:集合名稱。iteration:可迭代對象。4、集合創(chuàng)建任務(wù)3用戶注冊登錄frozenset()函數(shù)創(chuàng)建集合與set()函數(shù)創(chuàng)建集合的區(qū)別在于使用frozenset()函數(shù)創(chuàng)建的集合為不可變集合,有利于提高安全性。frozenset()函數(shù)創(chuàng)建集合aggregate=frozenset(iteration)參數(shù)說明如下所示。aggregate:集合名稱。iteration:可迭代對象。4、集合創(chuàng)建任務(wù)3用戶注冊登錄分別使用賦值方式、set()函數(shù)和frozenset()函數(shù)創(chuàng)建結(jié)合frozenset()函數(shù)創(chuàng)建集合#使用賦值方式創(chuàng)建可變集合a={1,2,3,('start','end')}

#使用set()函數(shù)創(chuàng)建可變集合list=[1,2,3,4,5]b=set(list)

#使用frozenset()函數(shù)創(chuàng)建不可變集合c=frozenset(list)5、訪問集合任務(wù)3用戶注冊登錄

由于集合是一個無序序列所以無法使用索引的方式訪問,只能夠使用print()方法輸出全部元素,或使用for循環(huán)遍歷集合中的所

溫馨提示

  • 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

提交評論