python入门学习:5.字典
关键点:字典
5.1 使用字典
在python中字典是一系列键-值对。每个键都和一个值关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。在python中,字典用花括号表示。如下,健-值是相互关联的两个值,键和值之间用冒号分开,而健-值对之间用逗号分开
alien_0 = {'color':'green','point':5}
5.1.1 访问字典中的值
要获取与键相关联的值,可以依次指定字典名和放在方括号内的键。如下所示:
'color':'green','point':5}
print(alien_0['color'])
5.1.2 添加健-值对
字典是一种动态结构,可随时在其中添加键-值对。要添加健-值对,可依次指定字典名、用方括号括起来的键和与之关联的值
'color':'green','point':5}
print(alien_0)
#添加x位置
#添加y位置
print(alien_0)
'point': 5, 'color': 'green'}
'y_position': 25, 'x_position': 0, 'point': 5, 'color': 'green'}
#注意,健-值对的排列顺序与添加顺序不同。python不关注健值对的python顺序,只关心键和值之间的关联
5.1.3 创建一个空字典
有些场合需要先创建一个空字典,使用一对空的{}即可
'color'] = 'green'
'point'] = 5
print(alien_0)
5.1.4 修改字典中的值
要修改字典中的值,可依次指定字典名、用方括号括起的键以及该键关联的新值。
'color':'green','point':5}
print(alien_0)
'color'] = 'red'
print(alien_0)
5.1.5 删除键-值对
对于字典中不需要的信息,可使用del语句将相应的键-值对彻底删除。使用del语句必须指定字典名和要删除的键。
#创建一个空字典
'color'] = 'green' #添加一个健值对
'point'] = 5 #添加一个健值对
del alien_0['point'] #删除一个健值对
5.2 遍历字典
5.2.1 遍历所有的键-值对
使用for循环通过方法items()遍历键和值
'username': 'efermi',
'frist' : 'enrico',
'last': 'fermi'
'username': 'efermi',
'frist' : 'enrico',
'last': 'fermi'
for key,value in user_0.items():
print("\nkeys:"+ key)
print("Value:"+value)
#注意遍历字典时,健值对返回的顺序也与存储顺序不同
5.2.2 遍历字典中的所有键
for循环遍历,通过方法keys()获取健值
'username': 'efermi',
'frist' : 'enrico',
'last': 'fermi'
for key in user_0.keys():
print("\nkeys:"+ key)
5.2.3 按顺序遍历字典中的所有键
字典总是明确记录键和值之间的关联关系,但是获取字典元素时,获取顺序是不可预测的,要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此可以使用函数sorted()来获得按特定顺序排列的键列表的腐败:
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python',
for name in sorted(favorite_languages.keys()): #生成key列表
#按字母排序
for talking the poll.
for talking the poll.
for talking the poll.
for talking the poll.
5.2.4 遍历字典中的所有值
如果只关心值,可通过values(),返回一个值列表,不包含任何键
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python',
for language in favorite_languages.values(): #生成value列表
print(language.title())
通过set()可以让python找出列表中独一无二的元素,剔除重复元素
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python',
for language in set(favorite_languages.values()): #生成value列表
print(language.title())
5.3 嵌套
有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。
5.3.1 字典列表
列表中嵌套字典。
'color': 'green','point':5}
'color': 'yellow','point':10}
'color': 'red','point':15}
for alien in aliens:
print(alien)
5.3.2 在字典中存储列表
有时候需要将字典存储在列表中。例如:
'crust':'thick',
'toppings':['mushrooms','extra chesse'],
print("you ordered a" + pizza['crust'] + "-crust pizaa" + "whith the following toppings:")
for topping in pizza['toppings']:#遍历字典中列表
print("\t" + topping)
5.3.3 在字典中存储字典
在字典中也可以嵌套字典,不过这样会使代码结构变地复杂
'aeinstein' : {
'frist':'albert',
'last':'einstein',
'location':'princetion',
'mcurie' : {
'frist':'marie',
'last':'curie',
'location':'paris',
for username, user_info in users.items():
print("\nUserName: "+ username)
'frist'] + " " + user_info['last']
'location']
print("\tfull name: "+ full_name.title())
print("\tlocation: "+ location.title())