欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的字典及其使用方法

 更新時(shí)間:2022年03月28日 09:22:17   作者:西岸賢  
這篇文章主要介紹了Python中的字典及其使用方法,包括使用字典(添加、刪除、修改等操作)、遍歷字典以及字典與列表之間的嵌套使用具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言:

本文的主要內(nèi)容是介紹Python中字典及其使用,包括使用字典(添加、刪除、修改等操作)、遍歷字典以及字典與列表之間的嵌套使用,文中附有代碼以及相應(yīng)的運(yùn)行結(jié)果輔助理解。

一、使用字典

在Python中,字典用放在花括號(hào){}中的一系列鍵值對(duì)表示,鍵和值之間用冒號(hào)分隔,而鍵值對(duì)之間用逗號(hào)分隔,每個(gè)鍵都與一個(gè)值相關(guān)聯(lián),你可以使用鍵來(lái)訪問(wèn)與之相關(guān)聯(lián)的值,與鍵相關(guān)聯(lián)的值可以是數(shù)字、字符串、列表乃至字典。事實(shí)上,可將任何Python對(duì)象用作字典中的值。

1.訪問(wèn)字典中的值

字典是由一系列鍵值對(duì)組成的,要訪問(wèn)字典中的值,就需要知道字典的名稱,想要訪問(wèn)的字典鍵名。

下面是一個(gè)訪問(wèn)字典中值的例子:

fruit = {'name': 'apple', 'color': 'red', 'num': 5} ?#有三個(gè)鍵值對(duì)的字典
print('name: ' + fruit['name']) #打印每個(gè)鍵所對(duì)應(yīng)的值
print('color: ' + fruit['color'])
print('num: ' + str(fruit['num']))

運(yùn)行結(jié)果如下圖所示:

2.在字典中添加鍵值對(duì)

字典是一種動(dòng)態(tài)結(jié)構(gòu),可以添加鍵值對(duì),依次指定字典名、用方括號(hào)括起的鍵和相關(guān)聯(lián)的值即可完成添加。

下面是在字典中添加鍵值對(duì)的例子:

fruit = {} ?#創(chuàng)建一個(gè)空字典
print('1.fruit = ' + str(fruit))
fruit['name'] = 'apple' ?#依次添加鍵值對(duì)
print('2.fruit = ' + str(fruit))
fruit['color'] = 'red'
print('3.fruit = ' + str(fruit))
fruit['num'] = 5
print('4.fruit = ' + str(fruit))

運(yùn)行結(jié)果如下圖所示:

3.修改字典中的值

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

下面是修改字典中值的例子:

fruit = {'name': 'apple', 'color': 'red', 'num': 5}
print('Before modify: fruit = ' + str(fruit))

fruit['color'] = 'green' #修改鍵名為'color'的值
fruit['num'] = 20 ?#修改鍵名為'num'的值
print('After modify: fruit = ' + str(fruit))

運(yùn)行結(jié)果如下圖所示:

4.刪除字典中的鍵值對(duì)

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

下面是刪除字典中的鍵值對(duì)的例子:

fruit = {'name': 'apple', 'color': 'red', 'num': 5}
print('Before delete: fruit = ' + str(fruit))

del fruit['color'] ?#刪除鍵名為'color'的鍵值對(duì)
print('After delete: fruit = ' + str(fruit))

運(yùn)行結(jié)果如下圖所示:

5.由類似對(duì)象組成的字典

在前面的例子中,字典存儲(chǔ)的是一個(gè)對(duì)象的多種信息,當(dāng)然字典也可以存儲(chǔ)多個(gè)對(duì)象的同一種信息。

下面是由類似對(duì)象組成字典的例子:

favorite_fruit = {
? ? 'A': 'apple',
? ? 'B': 'orange',
? ? 'C': 'banana',
}
print("A's favorite fruit is " + favorite_fruit['A'] + ".")
print("B's favorite fruit is " + favorite_fruit['B'] + ".")
print("C's favorite fruit is " + favorite_fruit['C'] + ".")

運(yùn)行結(jié)果如下圖所示:

二、遍歷字典

1.遍歷字典中的所有鍵值對(duì)

遍歷字典中的所有鍵值對(duì)使用的主要語(yǔ)句如下:

or key, value in name.items() ——其中key,value可以自己指定,name是字典名。

下面是遍歷字典中的所有鍵值對(duì)的例子:

favorite_fruit = {
? ? 'A': 'apple',
? ? 'B': 'orange',
? ? 'C': 'banana',
}

for name, fruit in favorite_fruit.items(): ?#遍歷字典中的所有鍵值對(duì)
? ? print(name + "'s favorite fruit is " + fruit + ".")

運(yùn)行結(jié)果如下圖所示:

可以看到,運(yùn)行結(jié)果與三條print語(yǔ)句的輸出是相同的。

2.遍歷字典中的所有鍵

遍歷字典中的所有鍵使用的主要語(yǔ)句如下:

for key in name.keys() ——其中key可以自己指定,name是字典名。
for key in name ——也可以省略.keys(),輸出是一樣的。
for key in sorted(name.keys()) ——按順序遍歷字典中所有的鍵。

下面是遍歷字典中的所有鍵的例子:

favorite_fruit = {
? ? 'B': 'apple',
? ? 'D': 'orange',
? ? 'C': 'banana',
? ? 'A': 'pear',
}

print('1. With .keys() output:')
for name in favorite_fruit.keys(): ?#遍歷字典中所有的鍵
? ? print(name)

print('2. Without .keys() output:') ?#遍歷字典中所有的鍵——省略.keys()
for name in favorite_fruit:
? ? print(name)
?
print('3. sorted() output:')
for name in sorted(favorite_fruit.keys()): ?#按順序遍歷字典中所有的鍵
? ? print(name)

運(yùn)行結(jié)果如下圖所示:

由輸出結(jié)果可知,加入sorted()函數(shù)后,鍵名果然是順序輸出的。

3.遍歷字典中的所有值

遍歷字典中的所有值使用的主要語(yǔ)句如下:

alue in name.values() ——其中value可以自己指定,name是字典名。
for value in set(name.values()) ——可以篩除掉value中的重復(fù)值。

下面是遍歷字典中的所有值的例子:

favorite_fruit = {
? ? 'B': 'apple',
? ? 'D': 'orange',
? ? 'C': 'banana',
? ? 'A': 'apple',
}

print('1. All values output:')
for fruit in favorite_fruit.values(): ?#遍歷字典中所有的值
? ? print(fruit)
? ??
print('2. With sorted() output:')
for fruit in sorted(favorite_fruit.values()): ?#按順序遍歷字典中所有的值
? ? print(fruit)
? ??
print('3. With set() output:')
for fruit in set(favorite_fruit.values()): ?#剔除重復(fù)的值
? ? print(fruit)

運(yùn)行結(jié)果如下圖所示:

由輸出結(jié)果可知,加入set()函數(shù)后,輸出的值是無(wú)序的,這是正常的,輸出的值也確實(shí)沒(méi)有重復(fù)的。

三、嵌套

有時(shí)候需要將一系列字典存儲(chǔ)在列表中,或?qū)⒘斜碜鳛橹荡鎯?chǔ)在字典中,這樣的操作稱為嵌套,可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

1.字典列表

字典用于描述一個(gè)對(duì)象的多個(gè)特征,多個(gè)對(duì)象就需要多個(gè)字典,然后再把所有的字典存儲(chǔ)在一個(gè)列表里,我們遍歷列表即可遍歷所有的對(duì)象及其對(duì)應(yīng)的特征。

下面是字典列表的例子:

fruit_1 = {'name': 'apple', 'color': 'red', 'num': 15}
fruit_2 = {'name': 'banana', 'color': 'yellow', 'num': 10}
fruit_3 = {'name': 'watermelon', 'color': 'green', 'num': 20}
fruits = [fruit_1, fruit_2, fruit_3] ?#將所有的字典存儲(chǔ)在列表里
for fruit in fruits: #遍歷列表
? ? print(fruit)

運(yùn)行結(jié)果如下圖所示:

下面是相對(duì)復(fù)雜的一個(gè)應(yīng)用例子:

fruits = [] ?#創(chuàng)建一個(gè)空列表
for fruit_num in range(0,5):?
? ? new_fruit = {'name': 'apple', 'color': 'red', 'num': 10}
? ? fruits.append(new_fruit)

print('Before modify:')
for fruit in fruits: ?#遍歷列表
? ? print(fruit)

for fruit in fruits[:2]: ?#修改列表中前2個(gè)元素的字典屬性
? ? if fruit['color'] == 'red':
? ? ? ? fruit['color'] = 'green'
? ? ? ? fruit['num'] = 20

print('After modify:')
for fruit in fruits: ?#遍歷列表
? ? print(fruit)

運(yùn)行結(jié)果如下圖所示:

2.在字典中嵌套列表

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

下面是在字典中嵌套列表例子:

favorite_fruit = { ? #在字典中嵌套列表
? ? 'A': ['apple', 'mango'],
? ? 'B': ['orange'],
? ? 'C': ['banana', 'pear'],
}

for name, fruits in favorite_fruit.items(): ?#遍歷字典中的鍵值對(duì)
? ? if len(fruits) == 1: ?#列表的長(zhǎng)度為1
? ? ? ? print(name+ "'s favorite fruits is :")
? ? ? ? for fruit in fruits: ?#遍歷字典中的列表
? ? ? ? ? ? print("\t" + fruit)
? ? else: ?#列表的長(zhǎng)度大于1
? ? ? ? print(name + "'s favorite fruits are :")
? ? ? ? for fruit in fruits:
? ? ? ? ? ? print("\t" + fruit)

運(yùn)行結(jié)果如下圖所示:

3.在字典中嵌套字典

有時(shí)候需要在字典中嵌套字典以更好的完成編程任務(wù),比如某個(gè)網(wǎng)站有多個(gè)用戶,每個(gè)用戶都有獨(dú)特的用戶名,可在字典中將用戶名作為鍵,然后將每位用戶的信息存儲(chǔ)在一個(gè)字典中,并將該字典作為與用戶名相關(guān)聯(lián)的值。

下面是在字典中嵌套字典例子:

users ={ ?#在字典中嵌套字典
? ? 'user_1': {
? ? ? ? 'first_name': 'lebron',
? ? ? ? 'last_name': 'james',
? ? },
? ? 'user_2': {
? ? ? ? 'first_name': 'kobe',
? ? ? ? 'last_name': 'bryant',
? ? },
? ? 'user_3': {
? ? ? ? 'first_name': 'kevin',
? ? ? ? 'last_name': 'durant',
? ? },
}
for user, userinfo in users.items(): ?#遍歷字典
? ? print(user + "'s name is " + userinfo['first_name'].title() + ' ' + userinfo['last_name'].title()+'.')

運(yùn)行結(jié)果如下圖所示:

總結(jié):

以上就是Python中字典及其使用的所有內(nèi)容了,學(xué)會(huì)使用字典和遍歷字典是最基礎(chǔ)的操作,字典與列表的嵌套是重點(diǎn)也是難點(diǎn)所在,應(yīng)當(dāng)多加練習(xí)掌握其關(guān)鍵之處,以便在以后的編程中熟練運(yùn)用。

到此這篇關(guān)于Python中的字典及其使用方法的文章就介紹到這了,更多相關(guān)Python字典內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論