




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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ì)的事物的總體,具有無序性和確定性線性結(jié)構(gòu)相比集合結(jié)構(gòu),線性結(jié)構(gòu)是有序的樹形結(jié)構(gòu)就像是把現(xiàn)實(shí)中一棵樹倒過來一樣圖狀結(jié)構(gòu)多對(duì)多的關(guān)系Tupletuple1 = (1, 3, 5, 7, 9)線性結(jié)構(gòu)小括號(hào)創(chuàng)建字符串其實(shí)跟 Tuple 非常類似切片可正向取也可以反向取正向取下面從0開始,反向從-1開始可以取單個(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 來實(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 來判斷元素是否存在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)訪問修改在遍歷中修改是安全的list1 = 1, 2, 3, 4, 5# 這樣不能修改內(nèi)容,,因?yàn)?item 是是一個(gè)副本for item in list1: item += 1print(list1) # 依舊是1, 2, 3, 4, 5# 我們需要訪問原來的 Listfor index, item in enumerate(list1): li
6、st1index += 1 # 這樣訪問是安全的 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 # 和上述寫法的效果等價(jià)Dictzergling = attack: 5, speed: 4.13, price: 50print(zerglingprice)集合結(jié)構(gòu)有 key 和 value,具有無序性key 是唯一的,value 可以重復(fù)查找速度快訪問用 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中并沒有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 來同時(shí)遍歷遍歷的過程中不能添加和刪除,但是可以修改已
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ì)象三種類型可以相互嵌套訪問元素的時(shí)候一層一層訪問carrier = cost: mineral: 350, gas: 250, supply: 6, build_time: 86 , type:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒科副高面試題及答案
- 學(xué)前數(shù)學(xué)教師工作總結(jié)
- 2025年 黃石市勞動(dòng)就業(yè)管理局政府雇員招聘考試筆試試卷附答案
- 吧臺(tái)酒水培訓(xùn)
- 2025年中國(guó)攀爬安全帶行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國(guó)尿失禁內(nèi)褲行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 員工感恩心態(tài)培訓(xùn)
- 入院護(hù)理要點(diǎn)與入院宣教
- 品質(zhì)方面培訓(xùn)
- 下肢靜脈血栓內(nèi)科診療規(guī)范
- 四川甘孜州公開招聘社區(qū)工作者考試高頻題庫(kù)帶答案2025年
- 萊西市2025年三年級(jí)數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- 2025年高考語文備考復(fù)習(xí):名著閱讀《紅樓夢(mèng)》《論語》解析版
- 2025年初級(jí)人工智能訓(xùn)練師(五級(jí))資格理論考試題(附答案)
- 康復(fù)治療室工作制度
- 2025年醫(yī)護(hù)人員法律法規(guī)知識(shí)競(jìng)賽題庫(kù)及答案(共三套)
- 垃圾焚燒發(fā)電行業(yè)潤(rùn)滑
- 鋁合金門窗安裝施工方案
- 胃癌化療患者的護(hù)理查房
- 香菇種植可行性分析報(bào)告
- 2025年會(huì)考地理考試試題及答案
評(píng)論
0/150
提交評(píng)論