python的数据类型---Dict
字典是另外一个可变容器,可以存储任意对象,采用key-->value键值对模式,中间用:分开。
dict = {'a': 1, 'b': 2, 'b': '3'} dict['a']
>>> 1
key一般是唯一的,如果重复,那么后面的key会把前面的key替代,value的值会被替代。
值可以是任意的对象,可以使numbers、list、tuple、dict、字符串
infos = {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']}
创建一个空字典:
dictnull = {}
字典的访问
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Name']
>>>'Zara'
利用方法进行查询:
dict.get('Name','error') #获取Name的信息,这种方式如果key不存在的话,会返回error
检查'class'是否在dict中
'class' in dict
>>> True
字典的修改
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 16
print(dict)
>>>{'Name': 'Zara', 'Age':16, 'Class': 'First'}
字典的删除
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict #删除整个dict
del dict['Age']#将dict中key为Age的数据删除
dict.clear() #清空整个dict,执行后变成dict={}
dict.pop('Name') #将dict中的name整个key,弹出
dict.popitem() #随机删除一个值
dict的key的删除,会把key-value都进行删除
字典的内置方法
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print(dict.values()) # 打印所有value
print(dict.keys()) # 打印所有的key
print(dict.setdefault('stu1', 'fengluo')) # 如果这个key存在的话,那就不动它,不存在的话,添加一个
dic2 = {'stu1': 'sriba', 'stu10': 'baidu'}
dict.update(dic2) # 更新字典值,如果key存在的话,就更新,不存在的话就添加
print(dict.items()) # 字典转换成一个lidt
dic = {'stu1':'cc','stu2':'andashu','stu3':'niuniu'}
for k in dic:
print(k,dic[k])#打印key和value的值,推荐使用这种方式,速度快
>>>
stu1 cc
stu2 andashu
stu3 niuniu
for k,v in dic.items():
print(k,v)#打印key和value的值,这种方式不推荐,因为会把字典转换成列表,效率不高
>>>
stu1 cc
stu2 andashu
stu3 niuniu