




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章Tuple,List,Dict數(shù)據(jù)結(jié)構(gòu)集合結(jié)構(gòu)具有某種特定性質(zhì)的事物的總體,具有無(wú)序性和確定性線性結(jié)構(gòu)相比集合結(jié)構(gòu),線性結(jié)構(gòu)是有序的樹(shù)形結(jié)構(gòu)就像是把現(xiàn)實(shí)中一棵樹(shù)倒過(guò)來(lái)一樣圖狀結(jié)構(gòu)多對(duì)多的關(guān)系Tupletuple1 = (1, 3, 5, 7, 9)線性結(jié)構(gòu)小括號(hào)創(chuàng)建字符串其實(shí)跟 Tuple 非常類似切片可正向取也可以反向取正向取下面從0開(kāi)始,反向從-1開(kāi)始可以取單個(gè)元素可以取連續(xù)元素可以固定間隔取元素tuple1 = (1, 3, 5, 7, 9)print(tuple12) # 取第三個(gè)元素而不是第二個(gè)print(tuple1-1) # 取最后一個(gè)元素print(tuple10:3)
2、# 取前三個(gè)元素print(tuple13:) # 取第四個(gè)以及之后的元素print(tuple1:-1) # 實(shí)際上是倒序輸出print(tuple10:3:2) # 取前三個(gè)元素Tupletuple1 = (1, 3, 5, 7, 9)tuple2 = (2, 4, 6, 8)tuple3 = tuple1 + tuple2print(tuple3)tuple4 = tuple1 * 2print(tuple4)修改Tuple 本身是不可修改的要修改只能創(chuàng)建一個(gè)新的 Tuple 來(lái)實(shí)現(xiàn)遍歷Tuple 和后面的 List 和 Dict 都是可迭代對(duì)象,所以都可以用 for 遍歷也可以使用 w
3、hile 循環(huán)用下標(biāo)遍歷# for 循環(huán)遍歷for item in tuple1: print(fitem , end=) # while 循環(huán)遍歷index = 0 # 下標(biāo)while index len(tuple1): print(ftuple1index , end=) index += 1Tupletuple1 = (1, 3, 5, 7, 9)if 3 in tuple1: print(We found 3!)else: print(No 3!)查找使用 in 來(lái)判斷元素是否存在We found 3!Listlist1 = 1, 2, 3, 4, 5線性結(jié)構(gòu)中括號(hào)創(chuàng)建可以原位修改,
4、比 Tuple 更靈活大部分對(duì) Tuple 的操作都可以應(yīng)用在 List 上添加append 尾部追加extend 可以追加另一個(gè) Listinsert 可以在指定位置插入# 下面是一種標(biāo)準(zhǔn)的錯(cuò)誤做法# list15 = 6# 這樣會(huì)報(bào)IndexError# 下面才是正確做法list1.append(6)print(list1)# extend 和 insertlist2 = 8, 9, 10, 11list1.extend(list2)print(list1)list1.insert(0, 8888)print(list1)Listlist1 = 1, 2, 3, 4, 5del list1
5、1print(list1) # 2 3 4 5print(list1.pop()print(list1) # 2 3 4list1.remove(2)print(list1) # 3 4刪除del 操作符pop 方法remove 方法修改直接使用下標(biāo)訪問(wèn)修改在遍歷中修改是安全的list1 = 1, 2, 3, 4, 5# 這樣不能修改內(nèi)容,,因?yàn)?item 是是一個(gè)副本for item in list1: item += 1print(list1) # 依舊是1, 2, 3, 4, 5# 我們需要訪問(wèn)原來(lái)的 Listfor index, item in enumerate(list1): li
6、st1index += 1 # 這樣訪問(wèn)是安全的 if index = 3: list1.append(6) # append也是安全的,添加的6也會(huì)被遍歷print(list1) # 輸出是2, 3, 4, 5, 6, 7Listlist1 = 1, 2, 3, 4, 5list1.reverse()print(list1)list1.sort()print(list1)list1.sort(reverse=True)print(list1)排序和翻轉(zhuǎn)原位修改如果 sort 接收了一個(gè) True 參數(shù),那么它會(huì)從大到小排序推導(dǎo)式簡(jiǎn)潔高效可讀性高list1 = for i in range(1
7、01): if i%2 = 0: list1.append(i)# 現(xiàn)在 list1 含有 0-100 中所有偶數(shù)list1 = i for i in range(101) if i%2 = 0 # 和上述寫(xiě)法的效果等價(jià)Dictzergling = attack: 5, speed: 4.13, price: 50print(zerglingprice)集合結(jié)構(gòu)有 key 和 value,具有無(wú)序性key 是唯一的,value 可以重復(fù)查找速度快訪問(wèn)用 key 作為索引in 可以判斷 key 是否存在get 方法或者 defaultdict 可以在不存在的時(shí)候返回默認(rèn)值if attack in
8、 zergling: print(zerglingattack)print(zergling.get(attack)from collections import defaultdictzergling = defaultdict(None)zerglingattack = 5print(zerglingarmor)Dictzerglingspeed = 5.57修改直接賦值即可添加和變量賦值類似,直接賦值給不存在的 key 即可也可以使用 setdefault 方法zerglingtargets = ground # zergling中并沒(méi)有targets這個(gè)key!zergling = a
9、ttack: 5, speed: 4.13, price: 50print(zergling.setdefault(targets, ground) # 不存在targets這個(gè)key,因此賦值為groundprint(zergling.setdefault(speed, 5.57) # 存在speed這個(gè)key,因此什么都不做Dictdel zerglingattackzergling.popitem()刪除del 刪除popitem 刪除最后一次插入元素添加keys 和 values 方法分別獲取所有的鍵和值用于遍歷也可以用 items 來(lái)同時(shí)遍歷遍歷的過(guò)程中不能添加和刪除,但是可以修改已
10、有的值z(mì)ergling = attack: 5, speed: 4.13, price: 50print(zergling.keys()print(zergling.values()for key, value in zergling.items(): print(fkey=key, value=value)dict_keys(attack, speed, price)dict_values(5, 4.13, 50)key=attack, value=5key=speed, value=4.13key=price, value=50嵌套用于表示復(fù)雜對(duì)象三種類型可以相互嵌套訪問(wèn)元素的時(shí)候一層一層訪問(wèn)carrier = cost: mineral: 350, gas: 250, supply: 6, build_time: 86 , type:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年計(jì)算機(jī)WPS命令快捷操作試題及答案
- 固廢綜合利用項(xiàng)目建設(shè)資金籌措計(jì)劃與財(cái)務(wù)安排
- 實(shí)現(xiàn)高分的現(xiàn)代漢語(yǔ)學(xué)習(xí)計(jì)劃試題及答案
- 計(jì)算機(jī)一級(jí)Photoshop設(shè)計(jì)理念探討試題及答案
- WPS文檔審核建議試題及答案
- Photoshop技能運(yùn)用方法試題及答案
- 游樂(lè)園技術(shù)支持與系統(tǒng)建設(shè)方案
- 基于AI的健康管理數(shù)字化系統(tǒng)研究與應(yīng)用案例分享
- 稅法案例解答技巧試題及答案
- 自信迎戰(zhàn)2025年現(xiàn)代漢語(yǔ)考試試題及答案
- 推銷實(shí)戰(zhàn)技巧與客戶優(yōu)秀服務(wù)技巧
- 福建新費(fèi)用定額交底材料
- 器質(zhì)性精神障礙患者的護(hù)理
- 趣味英語(yǔ)課件完整版
- 大學(xué)武術(shù)智慧樹(shù)知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- 前列腺增生癥患者圍手術(shù)期的護(hù)理
- 五防系統(tǒng)調(diào)試報(bào)告
- 日語(yǔ)綜合教程第六冊(cè) 單詞表
- 市委政研室主任關(guān)于如何寫(xiě)稿子的講話
- 在建項(xiàng)目雨季施工(防汛)安全隱患排查表
- 《廣東省普通高中學(xué)生檔案》模板
評(píng)論
0/150
提交評(píng)論