【Python】06 字典

前言:访问和修改字典中的信息

6.2 使用字典

字典是一系列键值对,每个键与一个值相关联,值可以是数字、字符串、列表乃至字典,可以是任何Python对象。用放在{}中的一系列键值对表示。

6.2.1 访问值

alien_0 = {'color':'green','points':5}
print(alien_0["color"])

6.2.2 添加键值对

字典是一种动态结构,可随时添加键值对,依次指定字典名、用[]括起来的键和相关联的值。

alien_0 = {'color':'green','points':5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25

Python 不关心键值对的添加顺序,只关心键和值的关联关系。

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 嵌套

可以在列表中嵌套字典,在字典中嵌套列表甚至在字典中嵌套字典

#创建一个用于存储外星人的空列表
aliens = []

#创建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'}

你可能感兴趣的:(【Python】06 字典)