字典的定义;
关键字:dictionary,除列表以外Python之中最灵活的内置数据结构类型字典是无序的对象集合。
字典用{}表示
字典是无序数据
key:valule的形式存储数据
key:是唯一的且不可变的数据(int float tuple boolen)
value:任何数据类型都支持
 
字典的常见简单操作;
d={} 空字典
取值:根据key取值
修改字典的值:赋值运算
 
多级字典的嵌套以及操作
字典嵌套字典
字典嵌套元组
字典嵌套列表
 
Python的字典的常用方法;
clear():清空字典
items():以列表返回可遍历的(键,值)元组数组
keys():以列表返回一个字典所有的键
values();以列表返回一个字典的所有的值
pop(key):删除指定key的字典值,会返回被删除的这个值
del 字典名[key]:删除指定key的字典值
popiten():随机删除一组数据
setdeault(key,value):如果key存在则返回value值,否则加入key-value
 
 
#1,空字典
# d={}
# print(d)
 
#2,定义一个字典key:value,不能用列表去作key,也不能用字典
#value:任何数据类型都支持
#对于value没有任何限制的
d={1:'no1',
0.02:'零花钱',
True:'result',
'name':666,
(1,3):'tuple',
'list':[1,2,3]}
# print(d)
 
#字典是无序的,每次输出的时候顺序会改变
# print(d)
 
#4.取值,根据key取值,字典名[key]
# print(d['list'][-1])#取列表里面的数字3
 
#5,列表:key必须是惟一的,不能重复的,出现重复的,后面的值会把前面的覆盖。在字典中1等同于TRUE,如果key值同时包括1和TRUE,那么后面的就会覆盖前面的value值
 
#灵魂拷问:什么时候用字典
#字典也是用来存储数据的?
#值要成对的存储的时候就可以用字典
# {'李白':100,'libai':99,'zhangsan':99}
 
 
#字典的常用方法;增删改查,重点是(查询,新增和修改)
 
#1查:没有索引,没有切片,根据key来查询
# 字典嵌套字典
# 字典嵌套元组
# 字典嵌套列表
d={'class':'贾府',
'teacher':['紫鸢','惜春','王熙凤','袭人','晴雯'],
'vip':{'a':'贾宝玉','b':'林黛玉','c':'薛宝钗','d':'秦可卿'},
'score':(88,99,100)}
# print(d['vip']['a'])#取到贾宝玉的值,一层一层的去定位
# print(d['teacher'][-1])#取到晴雯的名字
# print(d['score'][1])#拿到分数里面的99
 
#2增d[不存在的key]=新值 改:d[已有的key]=新值
#新增还是修改,主要就在于key到底存在不存在,如果是已存在的就是修改,如果不存在就是新增
#
# d['vip']='金陵十二钗'#修改
# d['宝玉']='莫失莫忘,仙寿恒昌'#新增
# print(d)
 
#3删除
#d.pop('vip')#根据key删除
# d.clear()#清空字典
d.popitem()#随机删除键值对
print(d)
 
#其他用法;
# items():以列表返回可遍历的(键,值)元组数组
print(d.items())
# keys():以列表返回一个字典所有的键
print(d.keys())
# values();以列表返回一个字典的所有的值
# pop(key):删除指定key的字典值,会返回被删除的这个值
# del 字典名[key]:删除指定key的字典值
# popiten():随机删除一组数据
# setdeault(key,value):如果key存在则返回value值,否则加入key-value