字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
语法:
info = { 'k1':'v1', 'k2':'v2', 'k3':'v3'}
字典的特性:
- 字典没有下标
- dict是无序的
- key必须是唯一的,so 天生去重
增加
info['k4'] = 'v4'
删除
1, info.pop('key')2, del info['key']3, info.popitem() #随机删
修改
info['k1'] = 'knoch'
查找
info['key'] #标准查找(‘key') in info #如果’key'不存在会报错info.get('key') #获取,如果'key'不存在不会报错info.keys #打印所有的'key'info.values #打印所有的’value'
setdefault #首先去获取字典里所有的‘key'如果有就不动,没有则创建。
info = { 'k1':'v1', 'k2':'v2', 'k3':'v3'}info.setdefault(‘k1','knoch')输出结果:{ 'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}info.setdefault('k4','knoch')输出结果:{ 'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'knoch'}
updata #更新字典如果有就更新,没有就创建
info = { 'k1':'v1', 'k2':'v2', 'k3':'v3'}info1 = { 'k1':'knoch','k':'v',1:3}info.updata(info1)输出结果:{ 'k1': 'knoch', 'k2': 'v2', 'k3': 'v3', 'k': 'v', 1: 3}
dict.fromkeys #初始化一个字典
dct = dict.fromkeys(['k1','k2','k3'],'test')dct['k1'] = 'knoch'dct >>>{ 'k1': 'knoch', 'k2': 'test', 'k3': 'test'}dct = dict.fromkeys(['k1','k2','k3'],[1,{ 'name':'alex'},444])dct['k1'][1]['name'] = 'knoch'dct>>>{ 'k1': [1, { 'name': 'knoch'}, 444], 'k2': [1, { 'name': 'knoch'}, 444], 'k3': [1, { 'name': 'knoch'}, 444]}注意:在这里初始化字典的时候,vaule的值如果有多层,如果被修改,除第一层外的所有的value都会被修改,如果值只有一层,则只修改指定'key'的‘vaule'
字典的循环
info = { 'k1':'v1', 'k2':'v2', 'k3':'v3'}1,标准写法 (循环时不会卡机,推荐使用)for i in info: print(i,info[i])2,扩展写法 (这种是先把字典转换成列表,如果字符量大,用会卡死机)for k,v in info.items(): print(k,v)