Python程序設(shè)計(jì)案例教程 課件 模塊3列表和元組_第1頁(yè)
Python程序設(shè)計(jì)案例教程 課件 模塊3列表和元組_第2頁(yè)
Python程序設(shè)計(jì)案例教程 課件 模塊3列表和元組_第3頁(yè)
Python程序設(shè)計(jì)案例教程 課件 模塊3列表和元組_第4頁(yè)
Python程序設(shè)計(jì)案例教程 課件 模塊3列表和元組_第5頁(yè)
已閱讀5頁(yè),還剩49頁(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)介

模塊3列表和元組學(xué)習(xí)目標(biāo)掌握序列類(lèi)型的特點(diǎn)熟練使用字符串、列表和元組會(huì)創(chuàng)建列表、嵌套列表和元組會(huì)添加、刪除、插入列表元素會(huì)排序列表任務(wù)3-1創(chuàng)建與操作祖國(guó)名勝列表訪問(wèn)與修改列表21創(chuàng)建列表34目錄列表的基本運(yùn)算列表推導(dǎo)式任務(wù)3-1創(chuàng)建與操作祖國(guó)名勝列表我國(guó)幅員遼闊,山河壯麗,大好河山數(shù)不勝數(shù),旅游資源豐富多樣。將你最渴望去的祖國(guó)名勝古跡構(gòu)建成一個(gè)列表,列表至少5處名勝古跡。編程完成以下操作,程序名為places.py。(1)創(chuàng)建列places_list,將你渴望去旅游的祖國(guó)名勝古跡名稱存儲(chǔ)在該列表中。(2)輸出整個(gè)列表。(3)計(jì)算出列表元素的個(gè)數(shù)并輸出。(4)使用非負(fù)數(shù)索引讀取列表中第1個(gè)和最后1個(gè)元素。(5)使用負(fù)數(shù)索引讀取列表中第1個(gè)和最后1個(gè)元素。(6)使用切片讀取列表中第2個(gè)至第4個(gè)元素。(7)更改列表第2個(gè)元素值,值自定,如改為“天安門(mén)”。(8)輸出列表。任務(wù)實(shí)施1.程序代碼"""程序名:places.py程序功能:應(yīng)用列表數(shù)據(jù)類(lèi)型管理用戶渴望去的旅游景點(diǎn)清單"""places_list=['長(zhǎng)城','布達(dá)拉宮','故宮','敦煌莫高窟','蘇州園林']print(f"最渴望去的旅游景點(diǎn):{places_list}")n=len(places_list)print(f'列表元素個(gè)數(shù)為:{n}')print(f"列表中第1個(gè)和最后1個(gè)地名是:{places_list[0]},{places_list[n-1]}")print(f"列表中第1個(gè)和最后1個(gè)地名是:{places_list[-n]},{places_list[-1]}")print(F'表中第2個(gè)至第4個(gè)元是:{places_list[1:4]}')places_list[1]='天安門(mén)'print(places_list)2.1.3相關(guān)知識(shí)1、創(chuàng)建列表(list)列表是有序序列類(lèi)型,是可變數(shù)據(jù)類(lèi)型;使用[]或list()來(lái)創(chuàng)建,元素間用逗號(hào)分隔,長(zhǎng)度不受限制;列表是組合數(shù)據(jù)類(lèi)型,可以由多種類(lèi)型的元素組成。ls=[3,[1,2],'kl',(10,20),{2,3,'python'},{'name':'lili','age':18}]1、創(chuàng)建列表(list)ls=[]使用[]或list()來(lái)創(chuàng)建,元素間用逗號(hào)分隔,長(zhǎng)度不受限制;list1=list('python')list(字符串):返回一個(gè)列表對(duì)象,字符串中的每個(gè)字符都轉(zhuǎn)換為列表的一個(gè)元素list(range(10))值?list(range(2,10,3))list((1,2,3,4))值?ls=[3,5,'kl']range([開(kāi)始值(start),]終止值(stop)[,步長(zhǎng)(step)])生成一個(gè)連續(xù)增加的整數(shù)迭代對(duì)象。list(range(2,10,3))列表(list)列表是有序序列類(lèi)型,是可變數(shù)據(jù)類(lèi)型;列表名[索引]使用[]或list()來(lái)創(chuàng)建,元素間用逗號(hào)分隔,長(zhǎng)度不受限制;ls=[‘蘋(píng)果’,‘西瓜’,‘香蕉’,‘梨’,‘葡萄’,'桃子']ls列表元素'蘋(píng)果''西瓜''香蕉''梨''葡萄''桃子'正向遞增索引(從左到右)012345反向遞減索引(從右到左)-6-5-4-3-2-1定義列表ls=['蘋(píng)果','西瓜','香蕉','梨']lk=lsls+=['石榴']print(lk)

強(qiáng)調(diào):[]和list()真正創(chuàng)建一個(gè)列表,賦值僅僅傳遞引用(即地址)ls['蘋(píng)果','西瓜','香蕉','梨']lk例子:將你喜歡的水果定義成一個(gè)列表2.訪問(wèn)和修改列表元素可以通過(guò)索引(index)或切片來(lái)訪問(wèn)和修改列表的元素。(1)使用索引訪問(wèn)和修改列表元素。訪問(wèn)元素:列表[index]修改列表元素:列表[index]=value2.訪問(wèn)和修改列表元素(2)使用切片訪問(wèn)和修改列表元素使用切片可以截取列表中部分元素,結(jié)果為一新列表;也可以使用切片修改列表中部分元素的值,更改原列表。切片的語(yǔ)句格式:序列對(duì)象[起始:結(jié)束:步長(zhǎng)]>>>score=[95,98,90,100,120,93,110]>>>ls=score[:6:2] #使用切片截取列表score中部分元素>>>ls[95,90,120]3.列表的基本運(yùn)算(1)列表加列表加即利用加號(hào)運(yùn)算符(+)把兩個(gè)列表按順序拼成一個(gè)新列表。3.列表的基本運(yùn)算(2)列表乘列表乘法可以擴(kuò)充列表的內(nèi)容,列表乘以一個(gè)整數(shù)n就可以得到一個(gè)重復(fù)n次的列表3.列表的基本運(yùn)算(3)成員資格成員資格運(yùn)算符in可以檢查一個(gè)元素是否為某一個(gè)序列的成員。如果該元素屬于該序列,則成員資格運(yùn)算返回值為T(mén)rue;否則返回False。notin用于判斷一個(gè)元素是否不是一個(gè)序列的成員。4.列表推導(dǎo)式表推導(dǎo)式簡(jiǎn)潔、高效,用于創(chuàng)建具有某種規(guī)律的列表。列表推導(dǎo)式語(yǔ)句格式如下:格式1:[表達(dá)式for變量in迭代對(duì)象]格式2:[表達(dá)式for變量in迭代對(duì)象if條件]列表推導(dǎo)式舉例列表推導(dǎo)式舉例>>>ls=['奮斗是青春最亮麗的底色,行動(dòng)是青年最有效的磨礪。\n','有責(zé)任有擔(dān)當(dāng),青春才會(huì)閃光。\n','青年是常為新的,最具創(chuàng)新熱情,最具創(chuàng)新動(dòng)力。\n']>>>ls=[m.strip()forminls]>>>ls['奮斗是青春最亮麗的底色,行動(dòng)是青年最有效的磨礪。','有責(zé)任有擔(dān)當(dāng),青春才會(huì)閃光。','青年是常為新的,最具創(chuàng)新熱情,最具創(chuàng)新動(dòng)力。']任務(wù)3-2列表的基本操作檢索列表元素21添加與刪除列表元素34目錄統(tǒng)計(jì)列表元素列表的復(fù)制、逆序列表元素任務(wù)概述編寫(xiě)程序famous_places.py,實(shí)現(xiàn)以下操作:(1)創(chuàng)建places_list列表,其值包括'長(zhǎng)城'、'布達(dá)拉宮'、'故宮'和'莫高窟'。(2)接收用戶輸入的一處祖國(guó)名勝古跡,將其增加到列表尾部。(3)將'達(dá)宗湖'、'龍門(mén)石窟'兩處名勝一次增加到列表中。(4)將'長(zhǎng)城'添加為列表的第3個(gè)元素,并輸出列表。(5)判斷'故宮'是否在列表。如存在,則提示'故宮'已在列表中,并輸出故宮在列表中的位置,否則將'故宮'添加到列表中,并提示已添加'故宮'到列表中。(6)移除列表中'達(dá)宗湖'元素,并輸出列表。(7)刪除列表中最后一個(gè)元素,并輸出該元素。(8)輸出列表元素個(gè)數(shù)以及“長(zhǎng)城”在列表中出現(xiàn)的次數(shù)。相關(guān)知識(shí)1.添加列表元素(1)append()方法。append()方法用于向列表尾部添加一個(gè)元素ListObject.append(x),,ListObject表示要操作的列表1.添加列表元素(2)extend()方法。extend()方法一次可向列表尾部添加多個(gè)元素。ListObject.extend(x),x是一個(gè)可迭代類(lèi)型的數(shù)據(jù)>>>gardens=['拙政園','圓明園','廣東清暉園','頤和園']>>>gardens.extend(('承德避暑山莊','上海豫園'))>>>gardens.extend(['獅子林','留園'])>>>print(gardens)['拙政園','圓明園','廣東清暉園','頤和園','承德避暑山莊','上海豫園','獅子林','留園']>>>ls=[]>>>ls.extend('大疑則大進(jìn)')>>>ls['大','疑','則','大','進(jìn)']1.添加列表元素(3)insert()方法。insert()方法是將一個(gè)元素插入到列表中指定的位置,調(diào)用格式如下:ListObject.insert(index,value)該方法功能是將value插入到列表ListObject中索引為index的位置。當(dāng)index超界時(shí),如果index超出最右側(cè)索引,則將value插入列表尾部;如果index超出最左側(cè)索引,則value插入列表頭部2.刪除列表元素(1)del語(yǔ)句delListObject[index]#刪除指定位置index的一個(gè)元素delListObject[start:end:step]#刪除指定的列表切片delListObject#刪除列表2.刪除列表元素(2)remove()方法remove()方法用于移除列表中的某個(gè)元素。如果列表中有多個(gè)匹配的元素,則移除匹配的第一個(gè)元素。2.刪除列表元素(3)pop()方法。pop()方法用于刪除列表中指定位置的元素。如不指定,則刪除列表尾部的元素,并且返回被刪除元素的值。3.檢索列表元素index()方法可以檢索一個(gè)元素在列表中第一次出現(xiàn)的位置,返回元素正的索引值。調(diào)用格式如下:ListObject.index(x)4.統(tǒng)計(jì)某元素個(gè)數(shù)count()方法統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)。調(diào)用格式如下:ListObject.count(x)即統(tǒng)計(jì)x在列表listname中出現(xiàn)的次數(shù)。如值為0,則說(shuō)明列表中沒(méi)有該元素。5.列表的復(fù)制在Python中,列表的復(fù)制(也稱拷貝,copy)有兩種主要方式:淺拷貝和深拷貝。它們之間的主要區(qū)別在于如何處理嵌套對(duì)象(如列表中的列表)的復(fù)制。列表淺拷貝是指創(chuàng)建一個(gè)新的列表對(duì)象,其內(nèi)容是對(duì)原列表中元素的引用,而沒(méi)有復(fù)制元素本身。深拷貝會(huì)創(chuàng)建一個(gè)新的對(duì)象,并且遞歸地復(fù)制原列表中所有的元素,包括嵌套的可變對(duì)象。深拷貝可通過(guò)Python標(biāo)準(zhǔn)庫(kù)中copy模塊的deepcopy()函數(shù)實(shí)現(xiàn)。深拷貝確保了新列表和原列表是完全獨(dú)立的實(shí)體6.按位置逆序列表元素reverse()方法將原列表中元素按位置逆序排序,改變?cè)斜?,不產(chǎn)生新列表,無(wú)參數(shù)。>>>ls=['自尊','自信','自立','自強(qiáng)']>>>ls.reverse()>>>print(ls)['自強(qiáng)','自立','自信','自尊']任務(wù)3-3遍歷和排序?qū)W生列表遍歷列表21嵌套列表3目錄列表排序任務(wù)概述已知有學(xué)生列表student_list其值為[['1001','黨建業(yè)',145],['1008','李紅',120],['1006','利強(qiáng)',130]],編寫(xiě)程序students.py,實(shí)現(xiàn)以下操作:(1)將學(xué)生列表元素按學(xué)生成績(jī)降序排序后輸出,每個(gè)學(xué)生信息占一行,輸出格式要美觀易讀。(2)將學(xué)生列表元素按學(xué)生學(xué)號(hào)升序排序輸出。(3)將學(xué)生列表元素順序逆轉(zhuǎn)后輸出。相關(guān)知識(shí)1.嵌套列表可以在列表中存儲(chǔ)列表、元組,或在列表中存儲(chǔ)字典,或列表作為值存儲(chǔ)在字典中,稱為嵌套>>>students=[['202201','張華',90,100],['202202','黨澤華',105,125]]#列表中嵌套列>>>print(students[1]) #訪問(wèn)列表中索引號(hào)為1的元素['202202','黨澤華',105,125]>>>print(students[1][0]) #訪問(wèn)列表students索引為1的元素中索引為0的元素2022022.遍歷列表遍歷指按照某種規(guī)則,依次訪問(wèn)數(shù)據(jù)結(jié)構(gòu)(如樹(shù)、圖、數(shù)組、列表等)中的每一個(gè)元素,確保每個(gè)元素都被訪問(wèn)且僅被訪問(wèn)一次。遍歷列表常使用for循環(huán),語(yǔ)句格式如下:for循環(huán)變量in列表:代碼塊2.遍歷列表>>>friends=['張明','李國(guó)','趙強(qiáng)']>>>forminfriends:

print(f'{m},國(guó)慶快樂(lè)!')

張明,國(guó)慶快樂(lè)!李國(guó),國(guó)慶快樂(lè)!趙強(qiáng),國(guó)慶快樂(lè)!3.列表排序(1)sort()方法sort()方法對(duì)列表排序不產(chǎn)生新列表,是修改了原列表。調(diào)用格式如下:ListObject.sort(key=None,reverse=False)3.列表排序(2)sorted()函數(shù)sorted()是函數(shù),注意與sort()方法區(qū)別。sorted()函數(shù)是將可迭代類(lèi)型數(shù)據(jù)(包括列表、元組等)進(jìn)行排序,不改變?cè)傻?lèi)型數(shù)據(jù),將產(chǎn)生一個(gè)新列表。例子:>>>languages=['Python','C','C++','Java','c#','JavaScript']>>>lg1=sorted(languages)>>>lg1['C','C++','Java','JavaScript','Python','c#']>>>languages#languages值沒(méi)有發(fā)生改變['Python','C','C++','Java','c#','JavaScript']任務(wù)3-4處理祖國(guó)四大名山元組任務(wù)概述編寫(xiě)程序mountain.py。定義一個(gè)包含中國(guó)4大名山的元組mountain,完成以用下任務(wù):(1)輸出元組mountain中的第3個(gè)元素;(2)輸出元組mountain的元素個(gè)數(shù);(3)用負(fù)數(shù)索引取出元組mountain最后1個(gè)元素;(4)使用切片取出元組mountain的第2個(gè)和第3個(gè)元素;(5)使用切片將元組mountain元素逆序輸出;(6)使用for循環(huán)遍歷該元組,將該元組mountain中元素一一輸出。程序代碼"""程序名:mountain.py"""mountain=('泰山','華山','衡山','嵩山')print('元組mountain的第3個(gè)元素是:',mountain[2])print(f'\n元組mountain元素個(gè)數(shù):{len(mountain)}')print('元組mountain的第2個(gè)和第3個(gè)元素是:',mountain[1:3])print('元組mountain的最后一個(gè)元素是:',mountain[-1])print('元組mountain的元素逆序:',mountain[::-1])prin

溫馨提示

  • 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)論