版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目四Python數(shù)據(jù)結(jié)構(gòu)任務(wù)1進(jìn)貨清單管理2、字符串運(yùn)算符3、字符串內(nèi)建函數(shù)1、字符串編碼與解碼4、格式化字符串1、字符串編碼與解碼任務(wù)1進(jìn)貨清單管理
編碼和解碼是一種二進(jìn)制和字符的映射關(guān)系,例如字母“p”的ASCII編碼為112,在計(jì)算集中存儲(chǔ)的二進(jìn)制值為01110000,在需要顯示到屏幕上時(shí)并不能直接顯示二進(jìn)制數(shù)字,需要顯示“a”,這就需要用到解碼。編碼:真實(shí)字符與二進(jìn)制串的對(duì)應(yīng)關(guān)系,真實(shí)字符→二進(jìn)制串。解碼:二進(jìn)制串與真實(shí)字符的對(duì)應(yīng)關(guān)系,二進(jìn)制串→真實(shí)字符。方法說(shuō)明encode真實(shí)字符→二進(jìn)制串decode二進(jìn)制串→真實(shí)字符1、字符串編碼與解碼任務(wù)1進(jìn)貨清單管理str.encode([encoding="utf-8"][,errors="strict"])bytes.decode([encoding="utf-8"][,errors="strict"])參數(shù)說(shuō)明如下。str:要進(jìn)行轉(zhuǎn)化的字符串。bytes:要進(jìn)行轉(zhuǎn)換的二進(jìn)制。encoding="utf-8":可選參數(shù),指定用于轉(zhuǎn)換時(shí)使用的字符編碼,默認(rèn)為UTF-8。errors="strict":可選參數(shù),指定錯(cuò)誤處理方式,有四個(gè)可選值,分別為:strict默認(rèn)值代表當(dāng)遇到非法字符后拋出異常、igonre忽略非法字符、replace使用“?”替換非法字符或xmlcharrefreplace使用XML的字符引用。1、字符串編碼與解碼任務(wù)1進(jìn)貨清單管理str=input("請(qǐng)輸入字符:")bytes=str.encode()print(bytes)print("解碼后:",bytes.decode("utf-8"))
接收用戶輸入的字符使用UTF-8將字符轉(zhuǎn)換為二進(jìn)制,并將二進(jìn)制值重新轉(zhuǎn)換為字符。2、字符串運(yùn)算符任務(wù)1進(jìn)貨清單管理
字符串運(yùn)算符是指通過(guò)一些符號(hào)的組合完成對(duì)字符串的拼接、截取、重復(fù)輸出等功能。運(yùn)算符說(shuō)明+字符串連接*重復(fù)輸出字符串[]通過(guò)索引獲取字符串中字符[:]截取字符串中的一部分in如果字符串中包含給定的字符返回Truenotin如果字符串中不包含給定的字符返回Truer/R字符串中的所有字符均以字面意思使用,對(duì)特殊符號(hào)不進(jìn)行轉(zhuǎn)義。2、字符串運(yùn)算符任務(wù)1進(jìn)貨清單管理
分別定義兩個(gè)字符串,分別賦值為“HelloPython”和“你好Python”,使用上述字符串運(yùn)算符這兩個(gè)字符串進(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中包含很多用于對(duì)字符串進(jìn)行操作的函數(shù),稱之為字符串的內(nèi)建函數(shù),這些方法實(shí)現(xiàn)了string模塊的大部分方法。函數(shù)說(shuō)明count()返回指定字符序列在測(cè)試字符串中出現(xiàn)的次數(shù)find()檢查指定字符序列是否包含在測(cè)試字符串中index()與find功能一致,當(dāng)字符序列不包含在測(cè)試字符串中時(shí)會(huì)報(bào)錯(cuò)capitalize()將字符串首字母轉(zhuǎn)為大寫(xiě)lower()將字符串轉(zhuǎn)換為小寫(xiě)upper()將字符串轉(zhuǎn)換為大寫(xiě)lstrip()刪除字符串左側(cè)空格rstrip()刪除字符串右側(cè)空格strip()刪除字符串首尾的空格split()以指定符號(hào)分隔字符串join()將字典中的每個(gè)字符串元素以指定符號(hào)分隔并合并為一個(gè)新字符串3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理檢索函數(shù)count()count函數(shù)用于檢索一個(gè)字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。string.count(sub,start=0,end=len(string))參數(shù)說(shuō)明如下所示。string:原始字符串。sub:搜索的字符串。start:可選參數(shù)默認(rèn)為0,字符串開(kāi)始搜索的位置,字符串第一個(gè)字符的索引為0。end:可選參數(shù)默認(rèn)字符串的最后一個(gè)值,字符串結(jié)束搜索的位置,字符串第一個(gè)字符的索引為0。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理檢索函數(shù)find()find函數(shù)用于檢索一個(gè)字符是否包含在另一個(gè)字符串中,結(jié)果如果包含在指定字符串則返回在字符串中開(kāi)始的索引值,否則返回-1string.find(sub,start=0,end=len(string))參數(shù)說(shuō)明如下所示。string:原始字符串。sub:指定檢索的字符串。start:開(kāi)始搜索的位置索引,默認(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ù)沒(méi)有在原始字符串查找到內(nèi)容時(shí)會(huì)報(bào)錯(cuò)。string.index(str,start=0,end=len(string))參數(shù)說(shuō)明如下所示。string:原始字符串。str:指定檢索的字符串。start:開(kāi)始搜索的位置索引,默認(rèn)為0。end:結(jié)束搜索的位置,默認(rèn)搜索到字符串結(jié)束。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理大小寫(xiě)轉(zhuǎn)換函數(shù)Python中提供了用于對(duì)字符串進(jìn)行大小寫(xiě)轉(zhuǎn)換的函數(shù)分別為capitalize()、lower()和upper()函數(shù),3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理大小寫(xiě)轉(zhuǎn)換函數(shù)capitalize()能夠?qū)⒆址兴饕秊?的字符串轉(zhuǎn)換為大寫(xiě),字符串內(nèi)其他字符均轉(zhuǎn)為小寫(xiě)。lower()
能夠?qū)⒆址腥看髮?xiě)字母轉(zhuǎn)換為等價(jià)的小寫(xiě)字母,若字符串中沒(méi)有需要轉(zhuǎn)換的字符則返回原字符串,否則返回一個(gè)新的字符串,并將字符串內(nèi)的每個(gè)大寫(xiě)字母轉(zhuǎn)換為等價(jià)的小寫(xiě)字母。upper()能夠?qū)⒆址腥啃?xiě)字母轉(zhuǎn)換為等價(jià)的大寫(xiě)字母,若字符串中沒(méi)有需要轉(zhuǎn)換的字符則返回原字符串,否則返回一個(gè)新的字符串,并將字符串內(nèi)的每個(gè)小寫(xiě)字母轉(zhuǎn)換為等價(jià)的大寫(xiě)字母。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理大小寫(xiě)轉(zhuǎn)換函數(shù)上述三個(gè)函數(shù)的語(yǔ)法格式如下所示。string.capitalize()string.lower()string.upper()參數(shù)說(shuō)明如下。string:表示要操作的字符串。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理去空格函數(shù)在接收用戶從鍵盤輸入的字符串時(shí)很可能因?yàn)檩斎脲e(cuò)誤導(dǎo)致字符串內(nèi)包含多余的空格。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理去空格函數(shù)Python中提供三個(gè)用于去除字符串內(nèi)空格的函數(shù)分別為lstrip()、rstrip()和strip()函數(shù),lstrip()函數(shù)能夠去除字符串頭部的空格,并返回一個(gè)新字符串,如果字符串頭部沒(méi)有空格字直接返回原字符串。rstrip()函數(shù)能夠去除字符串尾部的空格,并返回一個(gè)新字符串、如果字符串尾部沒(méi)有空格則直接返回原字符串。strip()函數(shù)能夠去除字符串首尾的空格,并返回一個(gè)新字符串string.lstrip()string.rstrip()string.strip()3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理分割合并函數(shù)Python為字符串對(duì)象提供了用于合并和分割字符串的方法,分別為split()拆分和join()合并函數(shù)。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理分割合并函數(shù)split()split()函數(shù)用于將字符串按照指定符號(hào)進(jìn)行分割,并將分割后的內(nèi)容組成字符串列表,列表中的元素不包含分割符。string.split(sep,maxsplit)參數(shù)說(shuō)明如下所示。string:表示要操作的字符串。sep:指定分隔符、分隔符可以有多個(gè)。maxsplit:可選參數(shù),用于指定分隔次數(shù),默認(rèn)分割次數(shù)無(wú)限制。3、字符串內(nèi)建函數(shù)任務(wù)1進(jìn)貨清單管理分割合并函數(shù)join()join()函數(shù)用于將字符串列表中的字符按照指定分隔符連接為一個(gè)字符串,并返回一個(gè)行的字符串。stringnew=string.join(iterable)stringnew:合并后的字符串。string:指定合并時(shí)使用的分隔符。iterable:可迭代對(duì)象(字段等),迭代對(duì)象中的所有元素合并為新字符串。4、格式化字符串任務(wù)1進(jìn)貨清單管理%操作符join()Python中可以使用“%”構(gòu)建字符串格式化模板,實(shí)現(xiàn)字符串格式換。'%[-][+][0][m][.n]格式化字符'%exp參數(shù)說(shuō)明如下所示。-:可選參數(shù),用于指定左對(duì)齊。+:可選參數(shù),用于指定又對(duì)齊。0:可選參數(shù),表示右對(duì)齊,用0填充空白處(一般與m一起使用)。m:可選參數(shù),表示占有寬度。.n:可選參數(shù),表示小數(shù)點(diǎn)后保留的小數(shù)位數(shù)。exp:要轉(zhuǎn)換的項(xiàng),如果需要制定多各項(xiàng),需要通過(guò)元組的形式制定。格式化字符:用于指定類型,常用的格式化字符如表4-4所示。4、格式化字符串任務(wù)1進(jìn)貨清單管理%操作符格式字符說(shuō)明格式字符說(shuō)明%s字符串%r字符串%c單個(gè)字符%o八進(jìn)制整數(shù)%d或%i十進(jìn)制整數(shù)%e指數(shù)(基底數(shù)為e)%x十六進(jìn)制整數(shù)%E指數(shù)(基底數(shù)為E)%f或者%F浮點(diǎn)數(shù)%%字符%4、格式化字符串任務(wù)1進(jìn)貨清單管理format()方法Python2.6之后加入了format()方法對(duì)字符串進(jìn)行格式化操作,是目前比較常用的字符串格式化的方法,使用%對(duì)字符串進(jìn)行格式化常用于程序開(kāi)發(fā)階段使用print()方法格式化測(cè)試輸出結(jié)果時(shí)使用。string.format(args)4、格式化字符串任務(wù)1進(jìn)貨清單管理format()方法string表示格式化字符串是使用的模板,args表示要進(jìn)行轉(zhuǎn)換的項(xiàng),多項(xiàng)可使用逗號(hào)分隔。在創(chuàng)建格式化模板時(shí)需要使用“{}”和“:”指定占位符{[index][:[[sign][#][.precision][type]]}參數(shù)說(shuō)明如下所示。index:可選參數(shù),用于指定格式化對(duì)象在列表中的位置。sign:可選參數(shù),用于指定有無(wú)符號(hào)數(shù)“+”表示正數(shù)加正數(shù),負(fù)數(shù)加符號(hào);“-”表示正數(shù)不變,負(fù)數(shù)加符號(hào);值為空表示正數(shù)加空格,負(fù)數(shù)加符號(hào)。“#”:可選參數(shù),對(duì)于二進(jìn)制、八進(jìn)制和十六進(jìn)制的數(shù)據(jù)加“#”會(huì)添加0b/0o/0x為前綴。.precision:可選參數(shù),指定用于保留的小數(shù)位數(shù)。type:可選參數(shù):用于指定格式化符,4、格式化字符串任務(wù)1進(jìn)貨清單管理format()方法格式字符說(shuō)明S對(duì)字符串類型格式化D十進(jìn)制整數(shù)C將十進(jìn)制幀數(shù)自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)的Unicode字符e或E轉(zhuǎn)換成科學(xué)技術(shù)法后再格式化g或G自動(dòng)在e/E和f/F中切換b將十進(jìn)制整數(shù)自動(dòng)轉(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)換為浮點(diǎn)數(shù)后進(jìn)行格式化(默認(rèn)保留六位小數(shù))%顯示百分比(默認(rèn)保留6位小數(shù))任務(wù)2音樂(lè)播放器2、訪問(wèn)列表3、元素操作1、創(chuàng)建列表4、列表統(tǒng)計(jì)與排序5、元組創(chuàng)建與刪除6、訪問(wèn)元組7、修改元組8、列表與元組的區(qū)別1、創(chuàng)建列表任務(wù)2音樂(lè)播放器Python中的列表由一系列按照特定順序排列的元素組成,列表中可以包含數(shù)值、字符串、列表和元組等類型的元素并且同一列表中可以同時(shí)包含多種類型的元素,每個(gè)元素之間互不影響,列表元素使用“[]”包裹,每對(duì)相鄰元素之間使用“,”分隔,Python中創(chuàng)建列表的方式有兩中賦值方式創(chuàng)建列表
賦值方式創(chuàng)建列表是指使用賦值符“=”創(chuàng)建列表,在創(chuàng)建列表時(shí)可同時(shí)為列表賦值或創(chuàng)建空列表。listname=[element1,element2,……,elementn]1、創(chuàng)建列表任務(wù)2音樂(lè)播放器將序列轉(zhuǎn)換為列表List方法能夠?qū)⑿蛄行问降臄?shù)據(jù)轉(zhuǎn)換為列表,如字符串、元組或其他可迭代的對(duì)象。list[data]2、訪問(wèn)列表任務(wù)2音樂(lè)播放器索引訪問(wèn)
在包括列表在內(nèi)的所有序列中每個(gè)元素都有屬于自己的編號(hào)(索引),從元素的起始位置開(kāi)始,索引從0開(kāi)始依次遞增。2、訪問(wèn)列表任務(wù)2音樂(lè)播放器索引訪問(wèn)通過(guò)索引能夠訪問(wèn)序列中的任意元素,索引訪問(wèn)序列元素的語(yǔ)法格式如下所示。list[indexes]或list[startindex:endindex]參數(shù)說(shuō)明如下所示。indexes:要獲取的元素的索引號(hào)。startindex:開(kāi)始獲取的元素的索引編號(hào),與endindex一起使用。endindex:結(jié)束獲取的索引編號(hào)。與startinndex一起使用。2、訪問(wèn)列表任務(wù)2音樂(lè)播放器索引訪問(wèn)上述講解的索引方式訪問(wèn)序列的方式使用的均是正數(shù)索引,Python中同時(shí)支持了使用負(fù)數(shù)索引訪問(wèn)序列的元素,正數(shù)索引的索引編號(hào)從0開(kāi)始由左向右依次遞增,負(fù)數(shù)索引編號(hào)從-1開(kāi)始由右向左依次遞減,即最后一個(gè)元素的索引編號(hào)為-1,倒數(shù)第二個(gè)為-2,2、訪問(wèn)列表任務(wù)2音樂(lè)播放器切片訪問(wèn)
切片操作是訪問(wèn)序列的第二種方式,切片能夠訪問(wèn)指定范圍內(nèi)容的元素,切片完成后會(huì)返回一個(gè)新的序列。sname[start:end:step]參數(shù)說(shuō)明如下所示。sname:序列名稱。start:開(kāi)始切片的起始位置(結(jié)果包含該位置),默認(rèn)為0。end:切片的截止位置(輸出結(jié)果不包括該位置),默認(rèn)為序列的長(zhǎng)度。step:切片步長(zhǎng),默認(rèn)為1。2、訪問(wèn)列表任務(wù)2音樂(lè)播放器遍歷訪問(wèn)for循環(huán)遍歷
使用for循環(huán)去遍歷列表中的元素能夠獲取元素中的每個(gè)元素,for循環(huán)遍歷的方式僅能輸出列表中元素。foriteminlistname:print(item)參數(shù)說(shuō)明如下所示。item:用于保存獲取到的元素。需要輸出元素是打印該變量即可。listname:列表名稱。2、訪問(wèn)列表任務(wù)2音樂(lè)播放器遍歷訪問(wèn)for循環(huán)與enumerate()函數(shù)遍歷列表與單獨(dú)使用for循環(huán)遍歷列表的區(qū)別在于結(jié)合enumerate()函數(shù)能夠輸出索引和元素。參數(shù)說(shuō)明如下所示。index:用于保存元素索引。item:用于保存元素listname:表示列表名稱。forindex,iteminenumerate(listname):print(index,item)3、元素操作任務(wù)2音樂(lè)播放器添加列表元素append()方法append()方法用于向列表的末尾追加新元素參數(shù)說(shuō)明如下所示。listname:表示要添加元素的列表名稱。obj:表示要添加到列表“l(fā)istname”中的元素。listname.append(obj)3、元素操作任務(wù)2音樂(lè)播放器添加列表元素②extend()方法extend()方法用于在列表的末尾追加一個(gè)序列中的多個(gè)值,在使用extend()方法添加列表元素時(shí),該方法不會(huì)將要添加到列表中的元組或列表視為一個(gè)整體,而是將每個(gè)元素分別插入到列表中。參數(shù)說(shuō)明如下所示。listname:表示要添加元素的列表名稱。obj:表示要追加到列表末尾的元素。listname.extend(obj)3、元素操作任務(wù)2音樂(lè)播放器修改元素
修改列表中的元素直接通過(guò)索引獲取元素值,并使用“=”為該元素重新賦值即可,修改“xiaobaichuan”列表中索引為1的元素值xiaobaichuan[1]='小白船'print(xiaobaichuan)3、元素操作任務(wù)2音樂(lè)播放器刪除元素del關(guān)鍵字刪除元素dellistname[index]del關(guān)鍵字能夠根據(jù)索引刪除指定列表中的元素或?qū)⑦@個(gè)列表刪除,當(dāng)指定要?jiǎng)h除的元素索引時(shí)則只刪除列表中的指定元素,若del關(guān)鍵字后直接跟列表名稱則刪除整個(gè)列表。參數(shù)說(shuō)明如下所示。listname:表示要?jiǎng)h除元素的列表名稱或要?jiǎng)h除的列表。index:列表中要?jiǎng)h除的元素的索引若不指定則刪除整個(gè)列表。3、元素操作任務(wù)2音樂(lè)播放器刪除元素②remove()方法刪除元素listname.remove(obj)
使用emove()方法刪除列表中的元素可以不知道要?jiǎng)h除元素在列表中的位置,直接指定要?jiǎng)h除的元素內(nèi)容即可(按照元素值刪除)參數(shù)說(shuō)明如下所示。listname:要?jiǎng)h除元素的列表名稱。obj:要移除的列表對(duì)象。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表統(tǒng)計(jì)計(jì)算Python中為列表提供了內(nèi)置函數(shù)用于對(duì)列表進(jìn)行統(tǒng)計(jì)計(jì)算等功能,主要包含獲取列表長(zhǎng)度、統(tǒng)計(jì)元素出現(xiàn)次數(shù)、獲取指定元素出現(xiàn)的位置和統(tǒng)計(jì)數(shù)值列表的元素和等。方法功能len()獲取列表長(zhǎng)度max()獲取列表中的最大值min()獲取列表中的最小值count()統(tǒng)計(jì)指定元素出現(xiàn)的次數(shù)index()指定元素首次出現(xiàn)的位置sum()統(tǒng)計(jì)數(shù)值列表元素和4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表統(tǒng)計(jì)計(jì)算①len()方法len()方法能夠獲取指定列表的元素個(gè)數(shù),返回值為數(shù)值類型,獲取到的元素?cái)?shù)量-1等于該列表最大的索引值,len(listname)參數(shù)說(shuō)明如下所示。listname表示要獲取元素?cái)?shù)量的列表名稱。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表統(tǒng)計(jì)計(jì)算②max()方法max()方法能夠獲取指定數(shù)值類型列表中最大的元素值并返回,如果列表中最大值有多個(gè)則只返回一個(gè)。max(listname)參數(shù)說(shuō)明如下所示。listname表示要獲取最大元素值的列表名稱。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表統(tǒng)計(jì)計(jì)算③min()方法min()方法與max()方法相反,該方法用于獲取指定列表中的最小元素值如果有多個(gè)只返一個(gè)。min(listname)參數(shù)說(shuō)明如下所示。listname表示要獲取最小元素值的列表名稱。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表統(tǒng)計(jì)計(jì)算④count()方法count()方法用于獲取指定元素在列表中出現(xiàn)的次數(shù),該方法僅能夠進(jìn)行精確匹配。listname.count(obj)參數(shù)說(shuō)明如下所示。listnmae:表示要獲取元素出現(xiàn)次數(shù)的列表。obj:列表中統(tǒng)計(jì)的對(duì)象。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表統(tǒng)計(jì)計(jì)算⑤index()方法index()方法能夠獲取指定元素在列表中首次出現(xiàn)的位置,只能進(jìn)行精確匹配如果列表中不存在查找的對(duì)象會(huì)拋出異常,返回結(jié)果為列表下標(biāo)。listname.index(obj)參數(shù)說(shuō)明如下所示。listnmae:表示要獲取元素出現(xiàn)次數(shù)的列表。obj:列表中統(tǒng)計(jì)的對(duì)象。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表統(tǒng)計(jì)計(jì)算⑥sum()方法sum()方法能夠統(tǒng)計(jì)出數(shù)值型列表中從指定位置開(kāi)始到最后的元素值的和,。sum(iterable,[start])參數(shù)說(shuō)明如下所示。iterable:表示要進(jìn)行統(tǒng)計(jì)的列表。start:可選參數(shù),表示進(jìn)行計(jì)算的起始位置,默認(rèn)為0。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表元素排序
在實(shí)際開(kāi)發(fā)中經(jīng)常會(huì)遇到需要對(duì)列表中的元素進(jìn)行排序的情況,Python中提供了兩個(gè)方式對(duì)列表元素進(jìn)行排序即使用列表對(duì)象的sort()方法和使用內(nèi)容sorted()函數(shù)進(jìn)行排序。listname.sort(reverse=False)sorted(listname,reverse=False)參數(shù)說(shuō)明如下所示。listname:表示要進(jìn)行排序的列表名稱。reverse:表示設(shè)置排序方式,默認(rèn)為False升序排序,設(shè)置為True為降序排序。4、列表統(tǒng)計(jì)與排序任務(wù)2音樂(lè)播放器列表元素排序注意使用sort方法對(duì)列表進(jìn)行排序會(huì)修改原列表,sorted函數(shù)不會(huì)修改原列表。分別使用sort()方法對(duì)“achievement”列表進(jìn)行降序排序,使用sorted()函數(shù)進(jìn)行升序排序,#使用sort對(duì)achievement進(jìn)行降序排序achievement.sort(reverse=False)print(achievement)
#使用sorted()函數(shù)進(jìn)行升序排序print(sorted(achievement,reverse=False))5、元組創(chuàng)建與刪除任務(wù)2音樂(lè)播放器賦值方式創(chuàng)建元組
賦值方式創(chuàng)建元組與賦值方式創(chuàng)建列表的方式類似,賦值方式創(chuàng)建元組是指使用賦值符“=”創(chuàng)建元組,在創(chuàng)建時(shí)可同時(shí)為元組賦值或創(chuàng)建空元組。#創(chuàng)建包含元素的元組tuplename=(element1,element2,...,elementn)#創(chuàng)建空元組tuplename=()參數(shù)說(shuō)明如下所示。tuplename:表示元組名稱。element1:元組中的元素,可選參數(shù)若不填寫(xiě)元素則創(chuàng)建空元組。5、元組創(chuàng)建與刪除任務(wù)2音樂(lè)播放器tuple函數(shù)創(chuàng)建元組Tuple函數(shù)能夠?qū)⒆址?、列表或其他可迭代的?duì)象轉(zhuǎn)換為元組,需要注意的是在將字符串轉(zhuǎn)換為元組是tuple函數(shù)會(huì)將字符串中的每個(gè)字符視為單獨(dú)的元素添加到元組中。tuple(data)data表示可以轉(zhuǎn)化為元組的數(shù)據(jù),包括字符串、元組或其他可迭代對(duì)象。5、元組創(chuàng)建與刪除任務(wù)2音樂(lè)播放器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音樂(lè)播放器刪除元組Python中元組的刪除方法與列表一致,使用del關(guān)鍵即可刪除不需要的元組,使用del關(guān)鍵字刪除“wagestab”元組。delwagestabprint(wagestab)6、訪問(wèn)元組任務(wù)2音樂(lè)播放器索引訪問(wèn)
使用索引方式訪問(wèn)元組與使用索引方式列表方法一致,可指定需要訪問(wèn)元素下標(biāo)或不指定索引輸出全部?jī)?nèi)容,當(dāng)輸出全部?jī)?nèi)容時(shí)結(jié)果會(huì)使用“()”包裹,當(dāng)指定輸出某元素時(shí)無(wú)小括號(hào)。創(chuàng)建“menu”元組并使用索引方式訪問(wèn)。menu=('首頁(yè)','新聞','簡(jiǎn)介','關(guān)于我們')print(menu)print(menu[3])6、訪問(wèn)元組任務(wù)2音樂(lè)播放器切片訪問(wèn)
元組元素第二中訪問(wèn)方式為切片訪問(wèn),元組切片方式訪問(wèn)方式與列表切片訪問(wèn)方式一樣,使用切片方式訪問(wèn)“menu”元組中的前三個(gè)元素print(menu[:3])6、訪問(wèn)元組任務(wù)2音樂(lè)播放器遍歷訪問(wèn)
元組的遍歷訪問(wèn)可以使用for循環(huán)或使用for循環(huán)與enumerate函數(shù)實(shí)現(xiàn),for循環(huán)僅能獲取元素值,for循環(huán)與enumerate函數(shù)結(jié)合的方式能夠同時(shí)獲得元素值和與元素對(duì)應(yīng)的索引,元組遍歷訪問(wèn)的方法與列表遍歷方法一致,使用兩種方式遍歷“menu”元組。print("for循環(huán)遍歷元組")foriteminmenu:print(item)
print("for循環(huán)和enumerate函數(shù)遍歷元組")Forindex,iteminenumerate(menu):print(index,item)7、修改元組任務(wù)2音樂(lè)播放器對(duì)元組重新賦值
元組重新賦值與通過(guò)賦值的方式創(chuàng)建元組在使用時(shí)并無(wú)區(qū)別,Python會(huì)將新元組的內(nèi)容已覆蓋的方式賦值到元組達(dá)到修改的目的,使用重新賦值的方式修改“menu”元組的內(nèi)容。print("原元組:",menu)
#修改元組menu=("賬號(hào)注冊(cè)","考試報(bào)名","成績(jī)查詢","信息管理","退出")print("修改后的元組:",menu)7、修改元組任務(wù)2音樂(lè)播放器連接元組
元組雖然是一個(gè)不可變序列但能夠使用連接的方式對(duì)元組進(jìn)行擴(kuò)展,連接符使用“+”表示,元組連接等同于重新為元組賦值,使用連接的方式擴(kuò)展“menu”元組。print("原元組:",menu)
#連接生成新元組menu=menu+('首頁(yè)','新聞','簡(jiǎn)介','關(guān)于我們')print("連接后的元組:",menu)8、列表與元組的區(qū)別任務(wù)2音樂(lè)播放器列表與元組均屬于序列,并且都能夠按照特定的順去存儲(chǔ)類型不受限制的一組元素,列表與元組并不完全相同,列表與元組的具體區(qū)別如下所示。列表是一個(gè)可變序列能夠單獨(dú)修改其中的某個(gè)元素,而元組屬于不可變序列不能夠更改其中某個(gè)元素的值。列表能夠使用Python提供的內(nèi)置方法為其添加、修改或移除元素,元組中并不包含此類方法,因?yàn)樵M是不可變序列不能修改。列表能夠通過(guò)切片的方式訪問(wèn)元素或修改,列表只能夠通過(guò)切片訪問(wèn)元素值。元組比列表訪問(wèn)速度快。元組能夠作為字典的鍵,列表不能。任務(wù)3用戶注冊(cè)登錄2、訪問(wèn)字典3、字典元素操作1、字典創(chuàng)建4、集合創(chuàng)建5、訪問(wèn)集合6、集合內(nèi)置方法7、集合計(jì)算1、字典創(chuàng)建任務(wù)3用戶注冊(cè)登錄
通過(guò)賦值方式創(chuàng)建字典的方式與列表相似,“=”前設(shè)置字典名稱,“=”后設(shè)置字典中包含的元素并將元素放到“{}”內(nèi)。賦值方式創(chuàng)建dictname={'key1':'value1','key2':'value2',…,'keyn':'valuen'}參數(shù)說(shuō)明如下所示。dictname:字典名稱。key:表示元素的鍵,該值必須是唯一的。value:表示元素的值,可以為任意類型的任意數(shù)據(jù)。使用賦值方式創(chuàng)建名為“studentdict”字典,并添加元素studentdict={'stuno':'02022001','name':'tom','age':22}print(studentdict)1、字典創(chuàng)建任務(wù)3用戶注冊(cè)登錄dict()函數(shù)能夠?qū)⒁延袛?shù)據(jù)快速轉(zhuǎn)換為字典,并且能夠創(chuàng)建空字典,使用dict函數(shù)將已有數(shù)據(jù)轉(zhuǎn)換為字典的方式有兩種分別為通過(guò)dict()映射函數(shù)創(chuàng)建字典和通過(guò)給定的鍵值對(duì)創(chuàng)建字典。通過(guò)dict函數(shù)創(chuàng)建字典#通過(guò)dict()映射函數(shù)創(chuàng)建字典dictname=dic(zip(list1,list2))#通過(guò)給定鍵值對(duì)創(chuàng)建字典dictname=dic(key1=value1,key2=value2,…,keyn=valuen)參數(shù)說(shuō)明如下。dictname:表示字典名稱。zip函數(shù):用于將多個(gè)列表或元組對(duì)應(yīng)未知的元素組合為元組,并返回包含這些內(nèi)容的zip對(duì)象。list1:表示一個(gè)列表,該列表中的元素表示字典中的鍵。list2:表示一個(gè)列表,該列表中的元素表示字典中的值,如果兩個(gè)列表長(zhǎng)度不相同,則與最短列表長(zhǎng)度相同。key1:表示元素鍵。value1:表示元素的值,可以為任何數(shù)據(jù)類型,可重復(fù)。1、字典創(chuàng)建任務(wù)3用戶注冊(cè)登錄創(chuàng)建兩個(gè)列表,列表1包含長(zhǎng)方體長(zhǎng)寬高的鍵值,列表2包含長(zhǎng)方體的長(zhǎng)寬和高,通過(guò)dict()映射函數(shù)創(chuàng)建名為“cuboiddict”字典。通過(guò)dict函數(shù)創(chuàng)建字典list1=['long','wide','high']list2=[20,15,10]cuboiddict=dict(zip(list1,list2))print(cuboiddict)1、字典創(chuàng)建任務(wù)3用戶注冊(cè)登錄Python中提供了fromkeys()方法用于創(chuàng)建具有默認(rèn)值的字段,具有默認(rèn)值的字典是只為字典中的所有鍵設(shè)置一個(gè)相同的默認(rèn)值。創(chuàng)建包含默認(rèn)值的字典dictname=dict.fromkeys(list,value)參數(shù)說(shuō)明如下所示。dictname:表示字典名稱。list:表示一個(gè)列表,列表中包含字典中所有的鍵value:為鍵設(shè)置的默認(rèn)值,若不指定默認(rèn)為None。1、字典創(chuàng)建任務(wù)3用戶注冊(cè)登錄創(chuàng)建名“winelist”的列表和名為“l(fā)iquorprice”的字典,將默認(rèn)值設(shè)為“無(wú)貨”。創(chuàng)建包含默認(rèn)值的字典winelist=['啤酒','白酒','葡萄酒']liquorprice=dict.fromkeys(winelist,'無(wú)貨')print(liquorprice)2、訪問(wèn)字典任務(wù)3用戶注冊(cè)登錄字典的訪問(wèn)方式與列表類似,列表使用通過(guò)索引訪問(wèn)對(duì)應(yīng)的元素值而字典是通過(guò)指定鍵獲得與其對(duì)應(yīng)的元素值,最后使用print()函數(shù)輸出。使用指定鍵訪問(wèn)print(dictname[key])參數(shù)說(shuō)明如下所示。dictname:表示字典名稱。key:字典中存在鍵名稱,若不指定鍵名在獲得字典中的所有元素。2、訪問(wèn)字典任務(wù)3用戶注冊(cè)登錄字典中存儲(chǔ)的元素為鍵值對(duì),當(dāng)需要對(duì)每個(gè)元素進(jìn)行操作時(shí)可以使用遍歷的方式獲取字典中的鍵值對(duì)然后對(duì)當(dāng)前獲取到的鍵值對(duì)進(jìn)行操作,字典中的items()方法能夠獲取到字典中的鍵值對(duì),結(jié)合for循環(huán)能夠完成字典的遍歷,遍歷方式訪問(wèn)字典dictionaries.items()Dictionaries表示字典對(duì)象,該方法返回值為可遍歷的鍵值對(duì)類型的元組列表,可通過(guò)使用for循環(huán)的形式遍歷元組列表。遍歷獲取鍵值對(duì)的方式有兩種,分別為獲取鍵值對(duì)和分別獲取鍵和值,語(yǔ)法格式如下所示。#獲取鍵值對(duì)foritemsindictionaries.items():print(items)forkey,valueindictionaries.items():print('鍵為:',key)print('值為:',value)2、訪問(wèn)字典任務(wù)3用戶注冊(cè)登錄使用指定鍵和遍歷的方式訪問(wèn)“studentdict”列表中的元素遍歷方式訪問(wèn)字典#使用指定鍵的形式訪問(wèn)字典print(studentdict['stuno'])
#使用遍歷方式獲取字典中的鍵值對(duì)foritemsinstudentdict.items():print(items)
#使用遍歷方式分別獲取鍵和值forkey,valueinstudentdict.items():print('鍵為:',key)print('值為:',value)3、字典元素操作任務(wù)3用戶注冊(cè)登錄
添加元素是指向字典中添加一組新的鍵值對(duì),添加元素的方式使用賦值方式實(shí)現(xiàn),若字典中已有指定的鍵則對(duì)字典中對(duì)應(yīng)的值進(jìn)行修改。添加元素與修改dictionaries[key]=value參數(shù)說(shuō)明如下所示。dictionaries:表示要添加元素的字典名稱。key:要添加或修改的元素鍵。value:要添加或修改的元素值。3、字典元素操作任務(wù)3用戶注冊(cè)登錄
刪除字典元素與刪除列表元素使用的方法一致均使用del關(guān)鍵字實(shí)現(xiàn),當(dāng)刪除一個(gè)不存在的元素是Python會(huì)拋出異常刪除字典元素deldictionaries[key]參數(shù)說(shuō)明如下所示。dictionaries:表示要?jiǎng)h除元素的字典名。key:要?jiǎng)h除元素的鍵。3、字典元素操作任務(wù)3用戶注冊(cè)登錄向“studentdict”字典中添加元素鍵為“gender”值為“男”,并將鍵為年齡的元素刪除。刪除字典元素#添加元素studentdict['gender']="男"print(studentdict)
#刪除元素delstudentdict['age']print(studentdict)4、集合創(chuàng)建任務(wù)3用戶注冊(cè)登錄使用賦值方式創(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ū)⒖傻鷮?duì)象如字符轉(zhuǎn)、列表、元組等對(duì)象轉(zhuǎn)換為集合類型aggregate=set(iteration)參數(shù)說(shuō)明如下所示。aggregate:集合名稱。iteration:可迭代對(duì)象。4、集合創(chuàng)建任務(wù)3用戶注冊(cè)登錄frozenset()函數(shù)創(chuàng)建集合與set()函數(shù)創(chuàng)建集合的區(qū)別在于使用frozenset()函數(shù)創(chuàng)建的集合為不可變集合,有利于提高安全性。frozenset()函數(shù)創(chuàng)建集合aggregate=frozenset(iteration)參數(shù)說(shuō)明如下所示。aggregate:集合名稱。iteration:可迭代對(duì)象。4、集合創(chuàng)建任務(wù)3用戶注冊(cè)登錄分別使用賦值方式、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èn)集合任務(wù)3用戶注冊(cè)登錄
由于集合是一個(gè)無(wú)序序列所以無(wú)法使用索引的方式訪問(wèn),只能夠使用print()方法輸出全部元素,或使用for循環(huán)遍歷集合中的所
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋建筑實(shí)習(xí)報(bào)告錦集5篇
- 學(xué)生撒謊檢討書(shū)15篇
- 教育目的心得模板10篇
- 產(chǎn)科護(hù)士工作心得體會(huì)8篇
- 疾病查房-帕金森病(護(hù)理類)課件
- 海事處廉政教育月黨課
- 七年級(jí)信息技術(shù)教案
- 七年級(jí)美術(shù)的說(shuō)課稿10篇
- 浙江省紹興市職業(yè)教育中心2024-2025學(xué)年高一上學(xué)期期中考試中國(guó)特色社會(huì)主義試題
- 借款協(xié)議書(shū)(2篇)
- 神經(jīng)介入圍手術(shù)期管理
- 模擬電子技術(shù)課件(完整版)
- 廣東省異地就醫(yī)備案登記表
- 光纜布線工程施工組織設(shè)計(jì)方案
- 食堂日??己嗽u(píng)分表(后勤)
- 高頻淬火設(shè)備安全操作規(guī)程
- 閘閥的操作力矩參考表
- 環(huán)氧樹(shù)脂參考配方大全
- 花木綠化養(yǎng)護(hù)考核評(píng)分表
- #2鍋爐爐膛內(nèi)腳手架搭設(shè)及拆除施工方案
- 110KV變電站工程創(chuàng)優(yōu)監(jiān)理實(shí)施細(xì)則
評(píng)論
0/150
提交評(píng)論