在Python中,字典是一系列键值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关的值可以是数字、字符串、列表乃至字典。事实上可以将任何python对象用作字典中的值。
在python中,字典用放在花括号中的一系列键值对表示:
alien_0={'color':'green','points':5}
访问字典中的值:要获取与键相关联的值,可依次指定字典名和放在括号内的键。
alien_0={'color':'green','points':5}
print(alien_0['color'])
添加键值对:字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名、用方括号括起来的键和相关联的值。
alien_0={'color':'green','points':5}
print(alien_0)
alien_0['x_position']=0 #添加键值对
alien_0['y_position']=25
print(alien_0)
修改字典中的值:要修改字典中的值,可依次指定字典名、用方括号括起来的键以及与该键相关联的新值。
alien_0={'color':'green'}
print("The alien is "+alien_0['color']+".")
alien_0['color']='yellow'
print("The alien is now "+alien_0['color']+".")
删除键值对:对于字典中不需要的信息,可使用del语句将相应的键值对彻底删除,使用del语句时必须指定字典名和要删除的键
alien_0={'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
遍历所有键值对:要编写用于遍历字典的for循环,可声明两个变量,用于存储键值对中的键和值。对于这两个变量,可使用任何名称。方法items()返回一个键值对列表。接下来for循环依次将每个键值对存储到指定的而两个变量中(即使遍历字典时,键值对的返回顺序也与存储顺序不同)
favourite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for name,language in favourite_languages.items():#for循环将items()返回的键值对列表依次存储到指定的而两个变量中
print(name.title()+"`s favourite languages is" + language.title() + ".")
遍历字典中的所有键:(遍历字典时默认遍历所有的键)
favourite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for name in favourite_languages.keys():#在不需要使用字典中的值时,方法keys()很有用,提取字典中的所有键。
print(name.title())
遍历字典中所有的值:可使用方法values()
favourite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
print("The following languages have been mentioned:")
for language in favourite_languages.values():
print(language.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)
字典中存储列表:
pizza={
'crust':'thick',
'toppings':['mushrooms','extra cheese'],
}
print("You ordered a"+pizza['crust']+"-crust pizza"+
"whith the following toppings:")
for topping in pizza['toppings']:
print("\t"+topping)
在字典中存储字典:
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())
参考《python编程从入门到实现》