一个简单的字典
例:我们定义了一个学生的信息字典
student= {'name':'张三','age':20,'sex':'男'}
使用字典
在python中,字典是一系列键值对。每一个键与一直值相关联。可以使用键来访问与之相关联的值。值可以为任何对象。
字典用{}来表示,键和值之间使用:来隔开,多个键值对之间使用,分隔。
访问字典中的值
想要获取与键相关联的值,可以指定字典名和放在方括号[ ]中的键
student= {'name':'张三','age':20,'sex':'男'}
#使用字典名[键]来获取值
student_name = student['name']
print(student_name)
print(student['sex'])
添加键值对
字典是动态结构,我们可以修改字典中的键值对。添加键值对,需要指定字典名,用方括号括起键,添加值。
例:
student= {'name':'张三','age':20,'sex':'男'}
student['score'] ='89'print(student)
创建一个空字典
例:
student1 = {}
student1['name'] = '李四'
student1['age'] = 16
print(student1)
修改字典中的值
修改字典中的值。指定字典名,方括号括起键,修改后的值。
例:
student2= {'name':'张三','age':20,'sex':'男'}
print(student2)
student2['name'] = '王五'
print(student2)#可以看到学生的姓名更改为王五
删除键值对
对于字典中不需要的信息,可以使用del语句进行删除
例:
student3= {'name':'张三','age':20,'sex':'男'}
del student3['age']
print(student3)
注意:del语句进行删除,键值对永久消失
练习:
#使用一个字典来存储一个熟人的信息,包括姓,名,年龄,城市,字典包含的键是first_name last_name age city
names_li={'first_name':'jack','last_name':'li','age':17,'city':'beijing'}
print(names_li)
#使用一个字典来存储。3个人作为键,每个人喜欢的数字为值
names_3= {'jacd':13,'pony':13,'may':15}
print(names_3)
遍历字典
一个字典可以包含几个或者百万个键值对,因此可以通过遍历来获取字典中的键、值、键值对。
遍历所有键值对
遍历字典中的键值对 使用items()方法进行遍历,用两个变量接受key,value
names_3= {'jacd':13,'pony':13,'may':15}
for key,value in names_3.items():
print(key,value)
遍历字典中所有的键
当我们只需要获取字典中的键时,可以使用key()方法
names_3= {'jacd':13,'pony':13,'may':15}
for keyin names_3.keys():
print(key)
遍历字典中的所有值
names_3= {'jacd':13,'pony':13,'may':15}
for valuein names_3.values():
print(value)
嵌套
有时候我们需要在字典中存储列表,或者将列表作为值存储到字典中,这称为嵌套。可以在列表中嵌套字典,在字典中嵌套列表,也可以在字典中嵌套字典。
字典列表
字典只能储存一种人的各种信息
例:创建一个人的属性模板,循环生成30次加入一个列表,我们遍历前5个人
student_range = []
for iin range(30):
student4 ={'name':'王五','age':42}
student_range.append(student4)
for iin student_range[:5]:
print(i)
如果我们想要不同的属性,可以使用if加入条件,进行重新赋值
例:我们创建30个同属的人,将前5个创建的属性重新赋值
student_range = []
for iin range(30):
student5 ={'name':'王五','age':42}
student_range.append(student5)
for iin student_range[:5]:
# print(type(i))
if i['name'] =='王五':
i['name'] ='张三'
i['age' ]=32
print(student_range)
当然,如果想要更多属性的人,可以使用if elif 等语法,进行多条件的判断
在字典中存储列表
有时候,我们还需要将列表存储到字典中。
例如:我们如何形容英雄?如果使用列表,我们只能形容英雄的名称,而使用字典后,我们可以形容英雄的其他描述
例:
herso = {'姓名 ':'亚瑟',
'属性':['宝剑','简单','上单']
}#当我们想知道亚瑟的属性时,通过属性关键字,就可以返回多个值,而不是单个值
当我们想使用一个关键字获得多个值时,可以使用字典中镶嵌列表的方式
字典中存储字典
字典中镶嵌字典,这样使用后代码会复杂起来。
例:
heros ={'亚瑟':{'位置':'上单','武器':"宝剑"},
'安琪拉':{'位置':'中单','武器':"魔法书"}
}
for key,value in heros.items():
print(key,value['位置'],value['武器'])#我们可以使用一个键来对应多个键值对
顶顶顶