前言:訪問和修改字典中的信息
6.2 使用字典
字典是一系列鍵值對,每個鍵與一個值相關聯(lián),值可以是數(shù)字、字符串、列表乃至字典,可以是任何Python對象。用放在{}中的一系列鍵值對表示。
6.2.1 訪問值
alien_0 = {'color':'green','points':5}
print(alien_0["color"])
6.2.2 添加鍵值對
字典是一種動態(tài)結構,可隨時添加鍵值對,依次指定字典名、用[]括起來的鍵和相關聯(lián)的值。
alien_0 = {'color':'green','points':5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25
Python 不關心鍵值對的添加順序,只關心鍵和值的關聯(lián)關系。
6.2.4 修改字典里的值
alien_0 = {'color':'green','points':5}
alien_0['color'] = 'yellow'
6.2.5 刪除鍵值對:del語句(永遠消失)
alien_0 = {'color':'green','points':5}
del alien_0['points']
6.2.6 由類似對象組成的字典:使用多行來定義
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
6.3 遍歷字典
6.3.1 遍歷所有鍵值對:items()
for key, value in alien_0.items():
for key, value in favorite_languages.items():
6.3.2 遍歷所有鍵:keys()
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for name in favorite_languages.keys():
print(name.title())
#按順序遍歷:使用sorted()
for name in sorted(favorite_languages.keys()):
print(name.title())
6.3.4 遍歷所有值:values()
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
#不考慮值是否重復
for language in favorite_languages.values():
print(language.title())
#剔除重復值:使用集合set()
for language in set(favorite_languages.values()):
print(language.title())
6.4 嵌套
可以在列表中嵌套字典,在字典中嵌套列表甚至在字典中嵌套字典
#創(chuàng)建一個用于存儲外星人的空列表
aliens = []
#創(chuàng)建30個綠色的外星人
for alien_number in range(30):
new_alien = {'color':'green','points':5,'speed':'slow'}
aliens.append(new_alien)
#改變前3個外星人的特征
for alien in aliens[:3]:
if alien['color'] == 'green':
alien['color'] = 'yellow'
alien['speed'] = 'medium'
alien['points'] = 10
#打印前五個外星人
for alien in aliens[:5]:
print(alien)
運行結果:
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
{'color': 'green', 'points': 5, 'speed': 'slow'}
{'color': 'green', 'points': 5, 'speed': 'slow'}