1.一个简单的字典
alien_0={'color':'green','points':'5'}
print(alien_0['color'])
print(alien_0['points'])
2.使用字典
字典是一系列键值对,与键相关联的值可以是数字字符串列表乃至字典
访问字典中的值
依次指定字典名和放在方括号内的键
alien_0 = {'points':'5'}
new_points = alien_0['points']
print("You just earned "+str(new_points)+" points")
添加键值对
指定字典名用方括号括起的键和相关联的值
alien_0={'color':'green','points':5}
print(alien_0)
alien_0['x_position']=0
alien_0['y_position']=25
print(alien_0)
创建空新典
alien_0={}
alien_0['color']='green'
alien_0['points']=5
print(alien_0)
修改字典中的值
可依次指定字典名用方括号括起的键以及与该键相关联的新值
alien_0={'x_position':0,'y_position':25,'speend':'medium'}
print("Original x_position:"+str(alien_0['x_position']))
if alien_0['speend']=='slow':
x_increment = 1
elif alien_0['speend'] == 'medium':
x_increment = 2
else:
x_increment = 3
alien_0['x_position']=alien_0['x_position']+x_increment
print("New x_position:"+str(alien_0['x_position']))
删除键值对
可使用del,必须指定字典名和要删除的键
alien_0={'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
由类似对象组成的字典
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
print("Sarah's favorite language is "+favorite_languages['sarah'].title()+".")
3.遍历字典
遍历所有键值对
items()
user_0={'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for key,value in user_0.items():
print("\nKey:"+key)
print("value:"+value)
遍历字典中的所有键
keys()
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for name in favorite_languages.keys(): #省略keys()也可以
print(name.title())
#指定键遍历
friends = ['phil','sarah']
for name in favorite_languages.keys():
print(name.title())
if name in friends:
print(" Hi "+name.title()+",I see your favorite language is "+favorite_languages[name].title()+"!")
#查看键是否存在字典中
if 'erin' not in favorite_languages.keys():
print("Erin,please take our poll!")
按顺序遍历字典中的所有键
使用sorted()在for循环中对返回的值进行排序
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for name in sorted(favorite_languages.keys()):
print(name.title()+",thank you for taking the poll.")
遍历字典中的所有值
values()
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
print("The following languages have been menioned:")
for language in favorite_languages.values():
print(language.title())
print("\n")
for language in set(favorite_languages.values()): #使用set()剔除重复值
print(language.title())
4.嵌套
列表中存储字典
aliens = [] #创建一个可存储的空列表
for alien_numbr in range(30): #循环30次
new_alien={'color':'green','points':5,'speed':'slow'}
aliens.append(new_alien)
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)
print("...")
字典中存储列表
favorite_languages = {
'jen':['python','ruby'],
'sarah':['c'],
'edward':['ruby','go'],
'phil':['python','haskell'],
}
for name,languages in favorite_languages.items():
print("\n"+name.title()+"'s favorite languages are:")
for language in languages:
print("\t"+language.title())
字典中存储字典
users = {
'aeinstein':{
'first':'albert',
'last':'einstein',
'location':'princeton',
},
'mcurie':{
'first':'marie',
'last':'curie',
'location':'paris',
},
}
for username, user_info in users.items():
print("\nUsername:"+username)
full_name = user_info['first']+" "+user_info['last']
location = user_info['location']
print("\tFull name:"+full_name.title())
print("\tLocation:"+location.title())
5.小结
定义字典以及如何使用存储在字典中的信息;访问修改字典中的元素,以及如何遍历字典中的所有信息;遍历字典中的键值对,键和值;列表中嵌套字典,字典嵌套列表以及字典嵌套字典。