字典的定义
字典的格式:字典名 = {key1:value1, key2:value2,…}#key1-value 键值对,key1是键名,value1是对应键的值。每个键都对应一个值,即使值为空。字典是无序的,是可变的数据类型,但字典的键值即key不能是可变的数据类型,如列表、字典,而且键是不能重复的,但是value可以重复。
mas = {'mas1':1,'mas2':2}#字典的定义
print(mas)#输出字典
print(mas['mas1'])#输出键值,也就是访问字典某键值
字典数据的添加、删除和修改
mas={'mas1':1,'mas2':'2'}
'''
字典数据的添加
'''
mas[‘mas3’]=3 #添加键值对,键是mas3,值是3
'''
字典数据的删除
'''
del(mas[‘mas2’]) #删除mas中键为mas2的键值对
'''
字典数据的修改
'''
mas[‘mas1’]=18 #将字典mas中键mas1对应的值改为18
列表和字典的嵌套使用
一行定义和多行定义(python允许列表多行定义,但是定义字符串只能在同一行定义但可使用转义字符\)
students = [{‘name’ :’sk1’,’age’:’a1’, ‘gender’:’男1’},
{‘name’ :’sk2’,’age’:’a2’, ‘gender’:’男2’},
{‘name’ :’sk3’,’age’:’a3’, ‘gender’:’男3’},
print(students[1][‘gender’]) #输出列表第一个字典中键为gender的值
我们可以判断两个字典是否相等
// An highlighted block
stu1 = {‘name’ :’sikki’,’age’:’abc’, ‘gender’:’男’,’hobby’:[‘lan’,’qiu’]}
stu1 = {‘name’ :’sikki’,’age’:’abc’, ‘gender’:’男’,’hobby’:[‘lan’,’qiu’]}
print(stu1==stu2) #字典不会判断顺序,只判断键/值是否相等
使用keys和values取得键集合和值集合
// An highlighted block
mas = {'name':'sk1','age':'a1','gender':'男1'}
print(mas.keys()) #输出mas所有键
for k in mas.keys():
print(k) #遍历输出字典mas的所有键
print(mas.values()) #输出mas所有键值
for v in mas.values():
print(v) #遍历输出字典mas的所有键值
遍历字典的两种方法
// An highlighted block
mas = {'name':'sk1','age':'a1','gender':'男1'}
print(mas.items()) #方法一:取得字典mas所以键值对的值
for i in mas.items(): #方法二
print(i) #可得i是元组类型
print(i[0],i[1])
判断键对值是否存在、设置键的默认值
stu1 = {‘name’ :’sk1’,’age’:’a1’, ‘gender’:’男1’}
res = ‘gender’ in stu1.kesy()#判断fender是否存在stu1的键中,并把结果赋值给res
print(res)
res = ‘siki’ in stu1.valuse()#判断siki是否存在stu1的键值中,并把结果赋值给res
print(res)
res = ‘xx’ in stu1#默认判断键集合
print(res)
stu1.setdefault(‘name’,’micheal’)#设置默认值,当键不存在时才生效print(stu1[‘name’])