#encoding:utf-8

#使用字典
alien_0 = {'color':'green', 'position':5}
print(alien_0['color'])
print(alien_0['position'])
print(alien_0)

#添加键值对
alien_0['x_position'] = 0
alien_0['y_position'] = 0
print(alien_0)

#置空
alien_0 = {}
print(alien_0)
alien_0['color'] = 'yellow'
print(alien_0)

#删除键值对
del alien_0['color']
print(alien_0)

#遍历所有的键值对
user_0 = {
    'username': 'efermi',
    'first': 'enrico',
    'last': 'fermi',
}
#python不关心键值对的存储顺序,只关心键与值之间的关系
for key, value in user_0.items():
    print("\nkey: " +key)
    print("value: " +value)
print("\n")

#遍历所有的键
for k in user_0.keys():
    print(k.title())
print("\n")

#按顺序遍历所有的键
for k in sorted(user_0.keys()):
    print(k.title())
print("\n")

#遍历所有的值
for v in user_0.values():
    print(v.title())

#字典列表
alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'yellow', 'points': 10}
alien_2 = {'color': 'red', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
    print(alien)


#创建30个绿色的外星人
print("\n")
aliens = []

#使用range()生成30个外星人
for alien_number in range(30):
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
    aliens.append(new_alien) 

#显示前五个外星人
for alien in aliens[:5]:
    print(alien)
print("...")

#显示创建了多少个外星人
print("Total number of aliens: " + str(len(aliens)))

#将前三个外星人修改为黄色的,速度为中等且值10个点
print("\n")
for alien in aliens[0:3]:
    if alien['color'] == 'green':
        alien['color'] = 'green'
        alien['speed'] = 'medium'
        alien['points'] = 10
for alien in aliens[0:3]:
    print(alien)


#在字典中存储列表
#存储所点披萨的信息
pizza = {
    'crust': 'thick',
    'toppings': ['mushrooms', 'extra cheese'],
}


#在字典中存储字典
users = {
    'aeinstein':{
        'first': 'albert',
        'last': 'einstein',
        'location': 'princeton',
    },
    'mcurie': {
        'first': 'marie',
        'last': 'curie',
        'location': 'paris',
    },
}