日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

# 遍历删除字典元素_第六章 字典

發(fā)布時(shí)間:2023/12/10 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 # 遍历删除字典元素_第六章 字典 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、使用字典

一個(gè)簡單的字典

字典是一系列鍵——值對。每個(gè)鍵都與一個(gè)值相關(guān)聯(lián),可以使用鍵來訪問與之相關(guān)聯(lián)的值。與鍵相關(guān)聯(lián)的值可以是數(shù)字、字符串、列表乃至字典。事實(shí)上,可將任何Python對象用作字典中的值。

在Python中,字典用放在花括號{}中的一系列鍵——值對表示。

鍵——值對是兩個(gè)相關(guān)聯(lián)的值。指定鍵時(shí),Python將返回與之相關(guān)聯(lián)的值。鍵和值之間用冒號分隔,而鍵——值對之間用逗號分隔。在字典中,想存儲多少個(gè)鍵——值對都可以。最簡單的字典只有一個(gè)鍵——值對。

1、訪問字典中的值

要獲取與鍵相關(guān)聯(lián)的值,可依次指定字典名和放在方括號內(nèi)的鍵。

字典中可包含任意數(shù)量的鍵——值對。

str(new_points)是將得到的5轉(zhuǎn)換成字符串

2、添加鍵——值對

字典是一種動(dòng)態(tài)結(jié)構(gòu),可隨時(shí)在其中添加鍵——值對。要添加鍵——值對,可依次指定字典名、用方括號括起的鍵和相關(guān)聯(lián)的值。

鍵—值對的排列順序與添加順序不同。(書上是這么寫的,但是為啥我的順序相同)

Python不關(guān)心鍵——值對的添加順序,而只關(guān)心鍵和值之間的關(guān)聯(lián)關(guān)系。

3、先創(chuàng)建一個(gè)空字典

有時(shí)候,在空字典中添加鍵—值對是為了方便,而有時(shí)候必須這樣做。為此,可先使用一對空的花括號定義一個(gè)字典,再分行添加各個(gè)鍵——值對。

使用字典來存儲用戶提供的數(shù)據(jù)或在編寫能自動(dòng)生成大量鍵——值對的代碼時(shí),通常都需要先定義一個(gè)空字典。

4、 修改字典中的值

要修改字典中的值,可依次指定字典名、用方括號括起的鍵以及與該鍵相關(guān)聯(lián)的新值。

5、刪除鍵——值對

對于字典中不再需要的信息,可使用del語句將相應(yīng)的鍵—值對徹底刪除。使用del語句時(shí),必須指定字典名和要?jiǎng)h除的鍵。

del(alien_0['points'])換成del alien_0['points']也行

刪除的鍵—值對永遠(yuǎn)消失了

6、由類似對象組成的字典

可以使用字典來存儲眾多對象的同一種信息

定義好字典后,在最后一個(gè)鍵—值對的下一行添加一個(gè)右花括號,并縮進(jìn)四個(gè)空格,使其與字典中的鍵對齊。另外一種不錯(cuò)的做法是在最后一個(gè)鍵—值對后面也加上逗號,為以后在下一行添加鍵—值對做好準(zhǔn)備。

將較長的print語句分成多行:

二、遍歷字典

一個(gè)Python字典可能只包含幾個(gè)鍵—值對,也可能包含數(shù)百萬個(gè)鍵—值對。鑒于字典可能包含大量的數(shù)據(jù),Python支持對字典遍歷。字典可用于以各種方式存儲信息,因此有多種遍歷字典的方式:可遍歷字典的所有鍵—值對、鍵或值。

1、遍歷所有的鍵——值對

要編寫用于遍歷字典的for循環(huán),可聲明兩個(gè)變量,用于存儲鍵—值對中的鍵和值。對于這兩個(gè)變量,可使用任何名稱。

上面for語句中包含字典名和方法items(),它返回一個(gè)鍵—值對列表。

即便遍歷字典時(shí),鍵—值對的返回順序也與存儲順序不同(我這里還是相同)。Python不關(guān)心鍵—值對的存儲順序,而只跟蹤鍵和值之間的關(guān)聯(lián)關(guān)系。

2、 遍歷字典中的所有鍵

在不需要使用字典中的值時(shí),方法keys()很有用。

遍歷字典時(shí),會默認(rèn)遍歷所有的鍵,因此,如果將上述代碼中的for name in favorite_language.keys():替換為for name in favorite_language:輸出將不變。顯式地使用方法keys()可讓代碼更容易理解。

3、按順序遍歷字典中的所有鍵

字典總是明確地記錄鍵和值之間的關(guān)聯(lián)關(guān)系,但獲取字典的元素時(shí),獲取順序是不可預(yù)測的。這不是問題,因?yàn)橥ǔD阆胍闹皇谦@取與鍵相關(guān)聯(lián)的正確的值。

要以特定的順序返回元素,一種辦法是在for循環(huán)中對返回的鍵進(jìn)行排序。為此,可使用函數(shù)sorted()來獲得按特定順序排列的鍵列表的副本。

4、遍歷字典中的所有值

方法values()返回一個(gè)值列表,而不包含任何鍵。

這種做法提取字典中所有的值,而沒有考慮是否重復(fù)。涉及的值很少時(shí),這也許不是問題,但如果被調(diào)查者很多,最終的列表可能包含大量的重復(fù)項(xiàng)。

為剔除重復(fù)項(xiàng),可使用集合(set)。集合類似于列表,但每個(gè)元素都必須是獨(dú)一無二的。

通過對包含重復(fù)元素的列表調(diào)用set()可讓Python找出列表中獨(dú)一無二的元素,并使用這些元素來創(chuàng)建一個(gè)集合。

三、 嵌套

有時(shí)需要將一系列字典存儲在列表中,或?qū)⒘斜碜鳛橹荡鎯υ谧值渲?#xff0c;這稱為嵌套。你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

1、字典列表

經(jīng)常需要在列表中包含大量的字典,而其中每個(gè)字典都包含特定對象的眾多信息。

2、在字典中存儲列表

每當(dāng)需要在字典中將一個(gè)鍵關(guān)聯(lián)到多個(gè)值時(shí),都可以在字典中嵌套一個(gè)列表。

3、在字典中存儲字典

#6-1人 #使用一個(gè)字典來存儲一個(gè)熟人的信息,包括名、姓、年齡和居住的城市。 #該字典應(yīng)包含鍵first_name、last_name、age和city。 #將存儲在該字典中的每項(xiàng)信息都打印出來。 people = {'first_name':'Si','last_name':'Zhao','age':40,'city':'Tieling',} print("The first_name is "+people['first_name']+".") print("The last_name is "+people['last_name']+".") print("His name is "+people['last_name']+" "+people['first_name']+".") print("He is "+str(people['age'])+" yesrs old.") print("He is living in "+people['city']+" now.")#6-2喜歡的數(shù)字 #使用一個(gè)字典來存儲一些人喜歡的數(shù)字 #請想出5個(gè)人的名字,并將這些名字用作字典中的鍵 #想出每個(gè)人喜歡的一個(gè)數(shù)字,并將這些數(shù)字作為值存儲在字典中 #打印每個(gè)人的名字和喜歡的數(shù)字 #為讓這個(gè)程序更有趣,通過詢問朋友確保數(shù)據(jù)是真實(shí)的。 numbers = {'alice':'4','bob':'5','ken':'9','james':'8','june':'3',} print("Alice's favorite number is "+numbers['alice']+".") print("Bob's favorite number is "+numbers['bob']+".") print("ken's favorite number is "+numbers['ken']+".") print("James's favorite number is "+numbers['james']+".") print("June's favorite number is "+numbers['june']+".")#6-3詞匯表 #Python字典可用于模擬現(xiàn)實(shí)生活中的字典,但為避免混淆,我們將后者稱為詞匯表。 #想出你在前面學(xué)過的5個(gè)編程詞匯,將它們用作詞匯表中的鍵,并將它們的含義作為值存儲在詞匯表中。 #以整潔的方式打印每個(gè)詞匯及其含義。 #為此,你可以先打印詞匯,在它后面加上一個(gè)冒號,再打印詞匯的含義; #也可在一行打印詞匯,再使用換行符(n)插入一個(gè)空行,然后在下一行以縮進(jìn)的方式打印詞匯的含義。 cihui = {'列表':'是基本數(shù)據(jù)結(jié)構(gòu)','字典':'一系列鍵——值對','變量':'不確定值的量','函數(shù)':'完成特定功能的程序','編譯':'把高級語言編程二進(jìn)制語言', } print("列表"+":"+cihui['列表']) print("字典"+":"+cihui['字典']) print("變量"+":"+cihui['變量']) print("函數(shù)"+":"+cihui['函數(shù)']) print("編譯"+":"+cihui['編譯'])#6-4詞匯表2 #既然你知道了如何遍歷字典,現(xiàn)在請整理你為完成練習(xí)6-3而編寫的代碼 #將其中的一系列print語句替換為一個(gè)遍歷字典中的鍵和值的循環(huán)。 cihui = {'list':'是基本數(shù)據(jù)結(jié)構(gòu)','dict':'一系列鍵——值對','var':'不確定值的量','fun':'完成特定功能的程序','com':'把高級語言編程二進(jìn)制語言', } for key, value in cihui.items():print(key+": "+value)#6-5河流 #創(chuàng)建一個(gè)字典,在其中存儲三條大河流及其流經(jīng)的國家。 #其中一個(gè)鍵—值對可能是'nile': 'egypt'。 #使用循環(huán)為每條河流打印一條消息,如“The Nile runs through Egypt.”。 #使用循環(huán)將該字典中每條河流的名字都打印出來。 #使用循環(huán)將該字典包含的每個(gè)國家的名字都打印出來。 rivers = {'nile': 'egypt','changjiang': 'china','huanghe': 'china' } for river, country in rivers.items():print("The "+river.title()+" runs through "+country.title()+".") for river in rivers.keys():print(river.title()) for country in rivers.values():print(country.title())#6-6調(diào)查 #在6.3.1節(jié)編寫的程序favorite_languages.py中執(zhí)行以下操作 #創(chuàng)建一個(gè)應(yīng)該會接受調(diào)查的人員名單,其中有些人已包含在字典中,而其他人未包含在字典中。 #遍歷這個(gè)人員名單,對于已參與調(diào)查的人,打印一條消息表示感謝 #對于還未參與調(diào)查的人,打印一條消息邀請他參與調(diào)查。 favorite_language = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',} wei = ['erin', 'june', 'bob'] for name in favorite_language:print(name.title()+", thank you for taking for the poll.") for name in wei:if name not in favorite_language:print("Hi "+name.title()+", I'm inviting you to take the poll.")#6-7人 #在為完成練習(xí)6-1而編寫的程序中,再創(chuàng)建兩個(gè)表示人的字典 #然后將這三個(gè)字典都存儲在一個(gè)名為people的列表中 #遍歷這個(gè)列表,將其中每個(gè)人的所有信息都打印出來。 people_0 = {'first_name':'Si','last_name':'Zhao','age':40,'city':'Tieling',} people_1 = {'first_name':'Xing','last_name':'Wang','age':20,'city':'Beijing',} people_2 = {'first_name':'La','last_name':'La','age':35,'city':'Shenyang',} people = [people_0, people_1, people_2] for person in people:print(person)#6-8寵物 #創(chuàng)建多個(gè)字典,對于每個(gè)字典,都使用一個(gè)寵物的名稱來給它命名 #在每個(gè)字典中,包含寵物的類型及其主人的名字 #將這些字典存儲在一個(gè)名為pets的列表中 #再遍歷該列表,并將寵物的所有信息都打印出來 pet_0 = {'type':'cat','zhuren':'alice' } pet_1 = {'type':'dog','zhuren':'bob' } pets = [pet_0, pet_1] for pet in pets:print(pet)#6-9喜歡的地方 #創(chuàng)建一個(gè)名為favorite_places的字典 #在這個(gè)字典中,將三個(gè)人的名字用作鍵 #對于其中的每個(gè)人,都存儲他喜歡的1~3個(gè)地方 #遍歷這個(gè)字典,并將其中每個(gè)人的名字及其喜歡的地方打印出來 favorite_places = {'alice':['hangzhou', 'sanya'],'bob':['yunnan','chongqing'],'june':['sichuan', 'caoyuan', 'dalian'] } for name, places in favorite_places.items():print("n"+name.title()+"'s favorite places are: ")for place in places:print(place.title())#6-10喜歡的數(shù)字 #修改為完成練習(xí)6-2而編寫的程序 #讓每個(gè)人都可以有多個(gè)喜歡的數(shù)字 #然后將每個(gè)人的名字及其喜歡的數(shù)字打印出來 numbers = {'alice':['4','6','9'],'bob':['5','4','7','9'],'ken':['2','5','8'],'james':['8','6','4'],'june':['3','6','9'],} for name, numbers in numbers.items():print(name.title()+"'s favorite numbers are:")for number in numbers:print(number)#6-11城市 #創(chuàng)建一個(gè)名為cities的字典,其中將三個(gè)城市名用作鍵 #對于每座城市,都創(chuàng)建一個(gè)字典,并在其中包含該城市所屬的國家、人口約數(shù)以及一個(gè)有關(guān)該城市的事實(shí) #在表示每座城市的字典中,應(yīng)包含country、population和fact等鍵 #將每座城市的名字以及有關(guān)它們的信息都打印出來 cities = {'sanya':{'country':'china','population':300000,'fact':'nanfang',},'yunnan':{'country':'china','population':5000000,'fact':'nanfang',},'dalian':{'country':'china','population':200000,'fact':'beifang',}, } for city_name, city_info in cities.items():print("nCity:"+city_name.title())population = city_info['population']fact = city_info['fact']print("t有"+ str(population) +"人口")print("t在"+fact)

總結(jié)

以上是生活随笔為你收集整理的# 遍历删除字典元素_第六章 字典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。