大學(xué)Python學(xué)習(xí)課件第3講-列表_第1頁(yè)
大學(xué)Python學(xué)習(xí)課件第3講-列表_第2頁(yè)
大學(xué)Python學(xué)習(xí)課件第3講-列表_第3頁(yè)
大學(xué)Python學(xué)習(xí)課件第3講-列表_第4頁(yè)
大學(xué)Python學(xué)習(xí)課件第3講-列表_第5頁(yè)
已閱讀5頁(yè),還剩24頁(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)介

計(jì)算機(jī)基礎(chǔ)與應(yīng)用(II)(經(jīng)管類)

——計(jì)算思維與Python程序設(shè)計(jì)第3講列表Python語(yǔ)言的基本組成Python中的模塊的調(diào)用數(shù)據(jù)的輸入輸出上節(jié)回顧2思考:下面程序出現(xiàn)運(yùn)行錯(cuò)誤,問(wèn)題出在哪兒?應(yīng)該怎么修改程序?上節(jié)回顧3上節(jié)回顧思考題:請(qǐng)編寫程序,輸入姓名、年齡,輸出姓名、年齡和出生年份Pleaseinputyourname:zhengPleaseinputyourage:20Yournameis:zhengYourageis:20Youryearofbirthis:1997什么是序列序列是程序設(shè)計(jì)中經(jīng)常用到的數(shù)據(jù)存儲(chǔ)方式。序列中每個(gè)元素被分配一個(gè)序號(hào)(元素的位置),也稱為索引Python中常用的序列結(jié)構(gòu)(列表、元組、字典)來(lái)實(shí)現(xiàn)一些簡(jiǎn)單而又功能強(qiáng)大的程序。5序列基礎(chǔ)知識(shí)序列是一系列連續(xù)值,它們通常是相關(guān)的,并且按一定順序排列。常用的序列類型:列表和元組序列c:12個(gè)整數(shù)元素引用元素:序列名+[位置編號(hào)]第1個(gè)元素的位置編號(hào)為0,c[0]第2個(gè)元素是c[1]第i個(gè)元素是c[i-1]

序列也可以從尾部訪問(wèn):最后一個(gè)元素是c[-1]倒數(shù)第2個(gè)是c[-2]倒數(shù)第i個(gè)元素是c[-i]位置編號(hào):也稱“下標(biāo)”或“索引”,是整數(shù)或整數(shù)表達(dá)式。6列表是Python中內(nèi)置數(shù)據(jù)類型,是一個(gè)元素的有序集合列表中的每一個(gè)數(shù)據(jù)稱為元素一個(gè)列表中的數(shù)據(jù)類型可以各不相同其所有元素用逗號(hào)分割并放在一對(duì)中括號(hào)“[”和“]”中7列表舉例[10,20,30,40]所有元素都是整型數(shù)據(jù)的列表['crunchyfrog','rambladder','larkvomit']所有元素都是字符串的列表['spam',2.0,5,[10,20]]該列表中包含了一個(gè)字符串元素、一個(gè)浮點(diǎn)類型元素、一個(gè)整型元素和一個(gè)列表類型元素8列表操作_創(chuàng)建列表創(chuàng)建列表:使用“=”將一個(gè)列表賦值給變量。>>>a_list=['a','b','mpilgrim','z','example']>>>a_list=[]9列表操作_讀取元素讀取元素:用變量名加元素序號(hào)(放中括號(hào)中)即可訪問(wèn)列表中某個(gè)元素。注意列表的第一個(gè)元素序號(hào)為0。注意:若一個(gè)列表有n個(gè)元素,則訪問(wèn)元素的合法序號(hào)范圍是-n~n-1,當(dāng)序號(hào)x為負(fù)時(shí),表示從右邊計(jì)數(shù),其訪問(wèn)的元素實(shí)際為序號(hào)為n+x的元素。>>>print(a_list[2])mpilgrim>>>print(a_list[-1])example>>>print(a_list[-5])a>>>print(a_list[-7])Traceback(mostrecentcalllast):File"<pyshell#7>",line1,in<module>print(a_list[-7])IndexError:listindexoutofrange>>>print(a_list[5])Traceback(mostrecentcalllast):File"<pyshell#8>",line1,in<module>print(a_list[5])IndexError:listindexoutofrangea_list=['a','b','mpilgrim','z','example']10列表操作_列表切片列表切片可以使用列表序號(hào)對(duì)來(lái)截取列表中的任何部分從而得到一個(gè)新列表。序號(hào)對(duì)中第一個(gè)序號(hào)表示切片開始位置,第二個(gè)序號(hào)表示切片截止(但不包含)位置。注意:當(dāng)切片的左索引為0時(shí)可缺省,當(dāng)右索引為列表長(zhǎng)度時(shí)也可缺省。>>>print(a_list[1:3])['b','mpilgrim']>>>print(a_list[1:-1])['b','mpilgrim','z']a_list=['a','b','mpilgrim','z','example']>>>print(a_list[:3])['a','b','mpilgrim']>>>print(a_list[3:])['z','example']>>>print(a_list[:])['a','b','mpilgrim','z','example']11上述列表分片時(shí),開始和結(jié)束點(diǎn)需要指出,而步長(zhǎng)參數(shù)被省略當(dāng)步長(zhǎng)為1時(shí)可以省略步長(zhǎng)不能為0步長(zhǎng)可以是負(fù)數(shù),此時(shí),開始點(diǎn)的索引值必須大于結(jié)束點(diǎn)的索引值列表操作_列表切片_更大步長(zhǎng)下標(biāo)10超出范圍,實(shí)際從最后一個(gè)位置開始12列表操作_增加元素方法一:使用“+”將一個(gè)新列表附加在原列表的尾部;方法二:使用append()方法向列表尾部添加一個(gè)新元素;方法三:使用extend()方法將一個(gè)列表添加在原列表的尾部;方法四:使用insert()方法將一個(gè)元素插入到列表的任意位置。>>>a_list=[1]>>>a_list=a_list+['a',2.0]>>>a_list[1,'a',2.0]>>>a_list.append(True)>>>a_list[1,'a',2.0,True]>>>a_list.extend(['x',4])>>>a_list[1,'a',2.0,True,'x',4]>>>a_list.insert(0,'x')>>>a_list['x',1,'a',2.0,True,'x',4]插入位置插入元素13列表操作_檢索元素使用count()方法計(jì)算列表中某個(gè)元素出現(xiàn)的次數(shù);使用in運(yùn)算符返回某個(gè)元素是否在該列表中;使用index()方法返回某個(gè)元素在列表中的準(zhǔn)確位置。>>>a_list.count('x')2>>>3ina_listFalse>>>2.0ina_listTruea_list=['x',1,'a',2.0,True,'x',4]>>>a_list.index('x')0>>>a_list.index(5)Traceback(mostrecentcalllast):File"<pyshell#33>",line1,in<module>a_list.index(5)ValueError:5isnotinlist14列表操作_刪除元素刪除元素當(dāng)向列表中添加或刪除元素時(shí),列表將自動(dòng)拓展或收縮,列表中永遠(yuǎn)不會(huì)有縫隙。方法一:使用del語(yǔ)句刪除某個(gè)特定位置的元素方法二:使用remove方法刪除某個(gè)特定值的元素重復(fù)的元素每次只刪除一個(gè)>>>a_list.remove('x')>>>a_list['a',2.0,True,'x',4]>>>a_list.remove('x')>>>a_list['a',2.0,True,4]>>>a_list.remove('x')Traceback(mostrecentcalllast):File"<pyshell#51>",line1,in<module>a_list.remove('x')ValueError:list.remove(x):xnotinlista_list=['x','a',2.0,True,'x',4]>>>dela_list[1]>>>a_list['x',2.0,True,'x',4]15列表操作_刪除元素方法三:使用pop(參數(shù))方法來(lái)彈出(刪除)指定位置的元素,缺省參數(shù)時(shí)彈出最后一個(gè)元素。>>>a_list.pop()4>>>a_list['a',2.0,True]>>>a_list.pop(1)2.0>>>a_list['a',True]>>>a_list.pop(1)True>>>a_list['a']>>>a_list.pop()'a'>>>a_list[]>>>a_list.pop()Traceback(mostrecentcalllast):File"<pyshell#61>",line1,in<module>a_list.pop()IndexError:popfromemptylista_list=['a',2.0,True,4]16列表常用函數(shù)cmp()格式:cmp(列表1,列表2)功能:對(duì)兩個(gè)列表進(jìn)行比較,若第一個(gè)列表大于第二個(gè),則結(jié)果為1,相反則為-1,元素完全相同則結(jié)果為0。len()格式:len(列表)功能:返回列表中的元素個(gè)數(shù)。>>>list1=[123,'xyz']>>>list2=[123,'abc']>>>cmp(list1,list2)1>>>list2=[123,'z']>>>cmp(list1,list2)-1>>>list2=list1>>>cmp(list1,list2)0>>>len(list1)2字符串按照字母順序進(jìn)行比較如果字符串是數(shù)字,數(shù)字比字母小'abc'<'xyz''123'<'231''123'<'1111'17列表常用函數(shù)max()和min()格式:max(列表),min(列表)功能:返回列表中的最大或最小元素。>>>str_l=['abc','xyz','123']>>>num_l=[123,456,222]>>>max(str_l)'xyz'>>>min(str_l)'123'>>>max(num_l)456>>>min(num_l)12318列表常用函數(shù)sort()

格式:列表.sort()功能:用于對(duì)列表進(jìn)行排序,默認(rèn)是按升序排序。reverse在sort()中添加reverse參數(shù),參數(shù)是簡(jiǎn)單的布爾值True或False,其值等于True表示降序排序。>>>list1=[1,4,3,6,9,0,2]>>>list1.sort()>>>list1[0,1,2,3,4,6,9]>>>list1.sort(reverse=True)>>>list1[9,6,4,3,2,1,0]19列表常用函數(shù)sum()

格式:sum(列表)功能:對(duì)數(shù)值型列表的元素進(jìn)行求和運(yùn)算,對(duì)非數(shù)值型列表運(yùn)算則出錯(cuò)。>>>sum(list)25>>>sum(str_l)Traceback(mostrecentcalllast):File"<pyshell#26>",line1,in<module>sum(str_l)TypeError:unsupportedoperandtype(s)for+:'int'and'str'list=[1,4,3,6,9,0,2]str_l=['abc','xyz','123']20示例1:序列函數(shù)應(yīng)用創(chuàng)建二個(gè)列表score_list1和score_list2score_list1中數(shù)據(jù)為:92,91,86,72,65,62,50,88,46,76score_list2中數(shù)據(jù)為:86,79,100,66,90,56將列表score_list2合并到score_list1中在列表score_list1末尾再添加三個(gè)數(shù)據(jù):66,90,56將列表score_list1進(jìn)行降序排序輸出最終的列表score_list1程序保存為03_score_list.py21程序運(yùn)行結(jié)果合并后列表中的數(shù)據(jù):[92,91,86,72,65,62,50,88,46,76,86,79,100,66,90,56]末尾添加三個(gè)數(shù)據(jù)后列表中的數(shù)據(jù):[92,91,86,72,65,62,50,88,46,76,86,79,100,66,90,56,66,90,56]降序排列后列表中數(shù)據(jù):[100,92,91,90,90,88,86,86,79,76,72,66,66,65,62,56,56,50,46]22示例2:序列函數(shù)應(yīng)用下列是某公司近段時(shí)間的月銷售數(shù)據(jù)(萬(wàn)元),請(qǐng)建立一個(gè)列表(data_list),列表中輸入這些數(shù)據(jù)12.0,12.5,11.7,12.6,13.5,12.8,12.0,12.0,11.4,12.0上述一共有幾個(gè)的數(shù)據(jù)?統(tǒng)計(jì)銷售額為12.0萬(wàn)元的次數(shù)計(jì)算近階段公司的總銷售額找出銷售額中的最小數(shù)據(jù),并刪除程序保存為03_data_list.py23程序運(yùn)行結(jié)果共有數(shù)據(jù)個(gè)數(shù):10銷售額為12.0的次數(shù):4總銷售額:122.5銷售額中最小值:11.4刪除最小值后的數(shù)據(jù):[12.0,12.5,11.7,12.6,13.5,12.8,12.0,12.0,12.0]24思考題如果要計(jì)算列表中的所有數(shù)據(jù)的平均值,在Python中沒有類似于avg()函數(shù)可用,用什么方法可以實(shí)

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論