字典:一种{ ‘key’:value}即{ ‘键’:值 }的数据类型,使用就像我们上学用的字典,通过笔画、字母来查对应的内容。
字典的特性:
- dict是无序的
- key必须是唯一的,天生去重
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
print(info)
打印结果:
{‘stu1101’: ‘TengLan Wu’, ‘stu1102’: ‘LongZe LuoLa’, ‘stu1103’: ‘XiaoZe MaLiya’}
字典:查,get(‘key’)
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
print(info.get('stu1103')) #一般建议用get('key')这个方法来取值
print(info.get('stu1104')) #没有值返回None
打印结果:
XiaoZe MaLiya
None
字典:查,通过key来查看其对应的值
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
print(info['stu1101'])
# print(info['stu1104'])#key的值不存在时,这种方法不适用,会报错
打印结果:
TengLan Wu
字典:查看某个key在字典中是否存在
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
print('stu1104' in info)
打印结果:
False
字典:改,修改字典中某个key的值
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
info['stu1101']='武藤'
print(info)
打印结果:
{‘stu1101’: ‘武藤’, ‘stu1102’: ‘LongZe LuoLa’, ‘stu1103’: ‘XiaoZe MaLiya’}
字典:更新,update():将两个字典交叉时,有变化则更新,没有则创建
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
b = {
'stu1101':'Alex',
1:3,
2:5
}
info.update(b) # 用字典b更新字典info
print(info)
打印结果:
{‘stu1101’: ‘Alex’, ‘stu1102’: ‘LongZe LuoLa’, ‘stu1103’: ‘XiaoZe MaLiya’, 1: 3, 2: 5}
字典–>列表:items(),把一个字典转成一个列表
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
print(info.items())
打印结果:
dict_items([(‘stu1101’, ‘TengLan Wu’), (‘stu1102’, ‘LongZe LuoLa’), (‘stu1103’, ‘XiaoZe MaLiya’)])
初始化新字典:fromkeys(),初始化一个新的字典,给每个定义的key赋值
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
# c=info.fromkeys([6,7,8]) #此处和info无关,可以不要
c=fromkeys([6,7,8])
print(c)
c=dict.fromkeys([6,7,8],[1,{'name':'Alex'},444]) #初始化一个新的字典,给每个定义的key赋值
print(c)
c[7][1]['name']='JM' # 类似copy(),3个key共享一个内存地址,以为只修改了一个,其实修改了全部。
print(c)
打印结果:
{6: None, 7: None, 8: None}
{6: [1, {‘name’: ‘Alex’}, 444], 7: [1, {‘name’: ‘Alex’}, 444], 8: [1, {‘name’: ‘Alex’}, 444]}
{6: [1, {‘name’: ‘JM’}, 444], 7: [1, {‘name’: ‘JM’}, 444], 8: [1, {‘name’: ‘JM’}, 444]}
字典:删除,del info,删除整个字典
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
del info
print(info)
打印结果:
NameError: name ‘info’ is not defined
字典:删除,del info[‘key’],通过key,删除其值
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
del info['stu1101'] #中括号
print(info)
打印结果:
{‘stu1102’: ‘LongZe LuoLa’, ‘stu1103’: ‘XiaoZe MaLiya’}
字典:标准删除,pop(‘key’)
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
info.pop('stu11/01') #小括号
打印结果:
{‘stu1102’: ‘LongZe LuoLa’, ‘stu1103’: ‘XiaoZe MaLiya’}
字典:随机删除,popitem()
info = {
'stu1101':"TengLan Wu",
'stu1102':"LongZe LuoLa",
'stu1103':"XiaoZe MaLiya",
}
info.popitem()
print(info)
打印结果:
{‘stu1101’: ‘TengLan Wu’, ‘stu1102’: ‘LongZe LuoLa’}