




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
模塊3列表和元組學習目標掌握序列類型的特點熟練使用字符串、列表和元組會創建列表、嵌套列表和元組會添加、刪除、插入列表元素會排序列表任務3-1創建與操作祖國名勝列表訪問與修改列表21創建列表34目錄列表的基本運算列表推導式任務3-1創建與操作祖國名勝列表我國幅員遼闊,山河壯麗,大好河山數不勝數,旅游資源豐富多樣。將你最渴望去的祖國名勝古跡構建成一個列表,列表至少5處名勝古跡。編程完成以下操作,程序名為places.py。(1)創建列places_list,將你渴望去旅游的祖國名勝古跡名稱存儲在該列表中。(2)輸出整個列表。(3)計算出列表元素的個數并輸出。(4)使用非負數索引讀取列表中第1個和最后1個元素。(5)使用負數索引讀取列表中第1個和最后1個元素。(6)使用切片讀取列表中第2個至第4個元素。(7)更改列表第2個元素值,值自定,如改為“天安門”。(8)輸出列表。任務實施1.程序代碼"""程序名:places.py程序功能:應用列表數據類型管理用戶渴望去的旅游景點清單"""places_list=['長城','布達拉宮','故宮','敦煌莫高窟','蘇州園林']print(f"最渴望去的旅游景點:{places_list}")n=len(places_list)print(f'列表元素個數為:{n}')print(f"列表中第1個和最后1個地名是:{places_list[0]},{places_list[n-1]}")print(f"列表中第1個和最后1個地名是:{places_list[-n]},{places_list[-1]}")print(F'表中第2個至第4個元是:{places_list[1:4]}')places_list[1]='天安門'print(places_list)2.1.3相關知識1、創建列表(list)列表是有序序列類型,是可變數據類型;使用[]或list()來創建,元素間用逗號分隔,長度不受限制;列表是組合數據類型,可以由多種類型的元素組成。ls=[3,[1,2],'kl',(10,20),{2,3,'python'},{'name':'lili','age':18}]1、創建列表(list)ls=[]使用[]或list()來創建,元素間用逗號分隔,長度不受限制;list1=list('python')list(字符串):返回一個列表對象,字符串中的每個字符都轉換為列表的一個元素list(range(10))值?list(range(2,10,3))list((1,2,3,4))值?ls=[3,5,'kl']range([開始值(start),]終止值(stop)[,步長(step)])生成一個連續增加的整數迭代對象。list(range(2,10,3))列表(list)列表是有序序列類型,是可變數據類型;列表名[索引]使用[]或list()來創建,元素間用逗號分隔,長度不受限制;ls=[‘蘋果’,‘西瓜’,‘香蕉’,‘梨’,‘葡萄’,'桃子']ls列表元素'蘋果''西瓜''香蕉''梨''葡萄''桃子'正向遞增索引(從左到右)012345反向遞減索引(從右到左)-6-5-4-3-2-1定義列表ls=['蘋果','西瓜','香蕉','梨']lk=lsls+=['石榴']print(lk)
強調:[]和list()真正創建一個列表,賦值僅僅傳遞引用(即地址)ls['蘋果','西瓜','香蕉','梨']lk例子:將你喜歡的水果定義成一個列表2.訪問和修改列表元素可以通過索引(index)或切片來訪問和修改列表的元素。(1)使用索引訪問和修改列表元素。訪問元素:列表[index]修改列表元素:列表[index]=value2.訪問和修改列表元素(2)使用切片訪問和修改列表元素使用切片可以截取列表中部分元素,結果為一新列表;也可以使用切片修改列表中部分元素的值,更改原列表。切片的語句格式:序列對象[起始:結束:步長]>>>score=[95,98,90,100,120,93,110]>>>ls=score[:6:2] #使用切片截取列表score中部分元素>>>ls[95,90,120]3.列表的基本運算(1)列表加列表加即利用加號運算符(+)把兩個列表按順序拼成一個新列表。3.列表的基本運算(2)列表乘列表乘法可以擴充列表的內容,列表乘以一個整數n就可以得到一個重復n次的列表3.列表的基本運算(3)成員資格成員資格運算符in可以檢查一個元素是否為某一個序列的成員。如果該元素屬于該序列,則成員資格運算返回值為True;否則返回False。notin用于判斷一個元素是否不是一個序列的成員。4.列表推導式表推導式簡潔、高效,用于創建具有某種規律的列表。列表推導式語句格式如下:格式1:[表達式for變量in迭代對象]格式2:[表達式for變量in迭代對象if條件]列表推導式舉例列表推導式舉例>>>ls=['奮斗是青春最亮麗的底色,行動是青年最有效的磨礪。\n','有責任有擔當,青春才會閃光。\n','青年是常為新的,最具創新熱情,最具創新動力。\n']>>>ls=[m.strip()forminls]>>>ls['奮斗是青春最亮麗的底色,行動是青年最有效的磨礪。','有責任有擔當,青春才會閃光。','青年是常為新的,最具創新熱情,最具創新動力。']任務3-2列表的基本操作檢索列表元素21添加與刪除列表元素34目錄統計列表元素列表的復制、逆序列表元素任務概述編寫程序famous_places.py,實現以下操作:(1)創建places_list列表,其值包括'長城'、'布達拉宮'、'故宮'和'莫高窟'。(2)接收用戶輸入的一處祖國名勝古跡,將其增加到列表尾部。(3)將'達宗湖'、'龍門石窟'兩處名勝一次增加到列表中。(4)將'長城'添加為列表的第3個元素,并輸出列表。(5)判斷'故宮'是否在列表。如存在,則提示'故宮'已在列表中,并輸出故宮在列表中的位置,否則將'故宮'添加到列表中,并提示已添加'故宮'到列表中。(6)移除列表中'達宗湖'元素,并輸出列表。(7)刪除列表中最后一個元素,并輸出該元素。(8)輸出列表元素個數以及“長城”在列表中出現的次數。相關知識1.添加列表元素(1)append()方法。append()方法用于向列表尾部添加一個元素ListObject.append(x),,ListObject表示要操作的列表1.添加列表元素(2)extend()方法。extend()方法一次可向列表尾部添加多個元素。ListObject.extend(x),x是一個可迭代類型的數據>>>gardens=['拙政園','圓明園','廣東清暉園','頤和園']>>>gardens.extend(('承德避暑山莊','上海豫園'))>>>gardens.extend(['獅子林','留園'])>>>print(gardens)['拙政園','圓明園','廣東清暉園','頤和園','承德避暑山莊','上海豫園','獅子林','留園']>>>ls=[]>>>ls.extend('大疑則大進')>>>ls['大','疑','則','大','進']1.添加列表元素(3)insert()方法。insert()方法是將一個元素插入到列表中指定的位置,調用格式如下:ListObject.insert(index,value)該方法功能是將value插入到列表ListObject中索引為index的位置。當index超界時,如果index超出最右側索引,則將value插入列表尾部;如果index超出最左側索引,則value插入列表頭部2.刪除列表元素(1)del語句delListObject[index]#刪除指定位置index的一個元素delListObject[start:end:step]#刪除指定的列表切片delListObject#刪除列表2.刪除列表元素(2)remove()方法remove()方法用于移除列表中的某個元素。如果列表中有多個匹配的元素,則移除匹配的第一個元素。2.刪除列表元素(3)pop()方法。pop()方法用于刪除列表中指定位置的元素。如不指定,則刪除列表尾部的元素,并且返回被刪除元素的值。3.檢索列表元素index()方法可以檢索一個元素在列表中第一次出現的位置,返回元素正的索引值。調用格式如下:ListObject.index(x)4.統計某元素個數count()方法統計某個元素在列表中出現的次數。調用格式如下:ListObject.count(x)即統計x在列表listname中出現的次數。如值為0,則說明列表中沒有該元素。5.列表的復制在Python中,列表的復制(也稱拷貝,copy)有兩種主要方式:淺拷貝和深拷貝。它們之間的主要區別在于如何處理嵌套對象(如列表中的列表)的復制。列表淺拷貝是指創建一個新的列表對象,其內容是對原列表中元素的引用,而沒有復制元素本身。深拷貝會創建一個新的對象,并且遞歸地復制原列表中所有的元素,包括嵌套的可變對象。深拷貝可通過Python標準庫中copy模塊的deepcopy()函數實現。深拷貝確保了新列表和原列表是完全獨立的實體6.按位置逆序列表元素reverse()方法將原列表中元素按位置逆序排序,改變原列表,不產生新列表,無參數。>>>ls=['自尊','自信','自立','自強']>>>ls.reverse()>>>print(ls)['自強','自立','自信','自尊']任務3-3遍歷和排序學生列表遍歷列表21嵌套列表3目錄列表排序任務概述已知有學生列表student_list其值為[['1001','黨建業',145],['1008','李紅',120],['1006','利強',130]],編寫程序students.py,實現以下操作:(1)將學生列表元素按學生成績降序排序后輸出,每個學生信息占一行,輸出格式要美觀易讀。(2)將學生列表元素按學生學號升序排序輸出。(3)將學生列表元素順序逆轉后輸出。相關知識1.嵌套列表可以在列表中存儲列表、元組,或在列表中存儲字典,或列表作為值存儲在字典中,稱為嵌套>>>students=[['202201','張華',90,100],['202202','黨澤華',105,125]]#列表中嵌套列>>>print(students[1]) #訪問列表中索引號為1的元素['202202','黨澤華',105,125]>>>print(students[1][0]) #訪問列表students索引為1的元素中索引為0的元素2022022.遍歷列表遍歷指按照某種規則,依次訪問數據結構(如樹、圖、數組、列表等)中的每一個元素,確保每個元素都被訪問且僅被訪問一次。遍歷列表常使用for循環,語句格式如下:for循環變量in列表:代碼塊2.遍歷列表>>>friends=['張明','李國','趙強']>>>forminfriends:
print(f'{m},國慶快樂!')
張明,國慶快樂!李國,國慶快樂!趙強,國慶快樂!3.列表排序(1)sort()方法sort()方法對列表排序不產生新列表,是修改了原列表。調用格式如下:ListObject.sort(key=None,reverse=False)3.列表排序(2)sorted()函數sorted()是函數,注意與sort()方法區別。sorted()函數是將可迭代類型數據(包括列表、元組等)進行排序,不改變原可迭代類型數據,將產生一個新列表。例子:>>>languages=['Python','C','C++','Java','c#','JavaScript']>>>lg1=sorted(languages)>>>lg1['C','C++','Java','JavaScript','Python','c#']>>>languages#languages值沒有發生改變['Python','C','C++','Java','c#','JavaScript']任務3-4處理祖國四大名山元組任務概述編寫程序mountain.py。定義一個包含中國4大名山的元組mountain,完成以用下任務:(1)輸出元組mountain中的第3個元素;(2)輸出元組mountain的元素個數;(3)用負數索引取出元組mountain最后1個元素;(4)使用切片取出元組mountain的第2個和第3個元素;(5)使用切片將元組mountain元素逆序輸出;(6)使用for循環遍歷該元組,將該元組mountain中元素一一輸出。程序代碼"""程序名:mountain.py"""mountain=('泰山','華山','衡山','嵩山')print('元組mountain的第3個元素是:',mountain[2])print(f'\n元組mountain元素個數:{len(mountain)}')print('元組mountain的第2個和第3個元素是:',mountain[1:3])print('元組mountain的最后一個元素是:',mountain[-1])print('元組mountain的元素逆序:',mountain[::-1])prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔健康牙齒護理課件
- 小學生祈使句課件
- 基于大數據的2025年城市污水處理廠智能化改造水質預測報告
- 小學生知憲法課件
- 麗江公共安全管理辦法
- 臨停車位收費管理辦法
- 企業產權處置管理辦法
- 中鐵質量檢查管理辦法
- 鄉鎮農村廚師管理辦法
- 京東開發流程管理辦法
- 2025至2030中國熱成型鋼(PHS)市場銷售模式及未來投資風險評估報告
- oracle考試試題及答案
- 2025年浙江省中考數學試卷真題(含官方標準答案)
- 實驗室留樣管理制度
- 二造考試試題及答案
- T/CI 202-2023TBM 隧道工程智慧工地系統接口和集成技術規范
- 兒童疼痛課件
- 統編版 高中語文 高三第二輪復習詩詞部分《八讀法鑒賞詩詞》教案
- 軍事醫學與戰場救護試題及答案
- 制砂場管理制度
- 2025年全國中小學生天文知識競賽試題庫(共八套)
評論
0/150
提交評論