字典

一、使用字典

在Python中,字典是一系列鍵—值對。每個鍵都與一個值相關(guān)聯(lián),你可以使用鍵來訪問與之關(guān)聯(lián)的值,與值相關(guān)聯(lián)的值可以是數(shù)字、字符串、列表乃至字典。

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

alien = {'color': 'green', 'points': 5}

1. 訪問字典中的值

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

alien = {'color': 'green'}
print(alien['color'])

2. 添加鍵—值對

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

alien = {'color': 'green', 'points': 5}
print(alien)

alien['x'] = 0
alien['y'] = 25
print(alien)

3. 修改字典中的值

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

alien = {'color': 'green'}
print(alien)

alien['color'] = 'yellow'
print(alien)

4. 刪除鍵-值對

對于字典中不再需要的信息,可使用del語句將相應的鍵-值對徹底刪除。使用del語句時,必須指定字典名和要刪除的鍵。如下所示:

alien = {'color': 'green', 'points': 5}
print(alien)

del alien['color']
print(alien)

二、遍歷字典

1. 遍歷所有的鍵-值對

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

for語句的第二部分包含字典名和方法items( ),它返回一個鍵值對列表,接下來,for循環(huán)依次將每個鍵-值對存儲到指定的兩個變量中。

注意:即使遍歷字典,鍵-值對的返回順序也與存儲順序不同

alien = {'color': 'green', 'points': 5}

for key, value in alien.items():
  print("\n" + key)
  print(value)

2.遍歷字典中的所有鍵

在不需要使用字典中的值時,方法keys( )可以返回一個鍵列表。

alien = {'color': 'green', 'points': 5}

for key in alien.keys():
  print(key)

3.按順序遍歷字典中的所有值

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

alien = {'color': 'green', 'points': 5}

for key in sorted(alien):
  print(key)

4. 遍歷字典中的所有值

要遍歷字典中的所有值,可以使用方法values( ),他返回一個值列表,而不包含任何鍵。

alien = {'color': 'green', 'points': 5}

for value in alien.values():
  print(value)

上面的方法會提取字典中的所有的值,二沒有考略是否重復。為剔除重復項,可使用集合(set)。集合類似于列表,但每個元素都必須是獨一無二的。

pets = {
  'jen': 'cat',
  'sarah': 'dog',
  'phill': 'cat',
  'mark': 'dog',
}

for cat in set(pets.values()):
  print(cat)

三、嵌套

有時候,需要將一系列的字典存儲在列表中,會將列表存儲在字典中,這稱為嵌套??梢栽诹斜碇星短鬃值?、在字典中嵌套列表甚至在字典中嵌套字典。

1. 字典列表

alien0 = {'color': 'green', 'points': 5}
alien1 = {'color': 'yellow', 'points': 10}
alien2 = {'color': 'red', 'points': 15}

aliens = [alien0, alien1, alien2]

for alien in aliens:
  print(alien)

2.在字典中存儲列表

favorite_language = {
  'jen': ['python', 'ruby'],
  'sarah': ['c'],
  'edward': ['ruby', 'go'],
  'phil': ['python', 'haskell']
}

for name, languages in favorite_language.items():
  print("\n" + name + ":")
  for language in languages:
    print("\t" + language)

3. 在字典中存儲字典

users = {
  'jen': {
    'first': 'albert',
    'last': 'jen',
  },
  
  'mcurie':{
    'first': 'marie',
    'last': 'mcurie'
  }
}

for user, user_info in users.items():
  print(user + ":" + user_info['first'].title() + " " +
        user_info['last'].title())
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容