python - 字典,,字典一种key -


字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:

技术分享
info = {‘k1‘:‘v1‘,            ‘k2‘:‘v2‘,            ‘k3‘:‘v3‘}
View Code

字典的特性:

字典没有下标dict是无序的key必须是唯一的,so 天生去重

增加

技术分享
info[‘k4‘] = ‘v4‘
View Code

删除

技术分享
1,    info.pop(‘key‘)2,    del info[‘key‘]3,    info.popitem() #随机删
View Code

修改

技术分享
info[‘k1‘] = ‘knoch‘
View Code

查找

技术分享
info[‘key‘]  #标准查找(‘key‘) in info  #如果’key‘不存在会报错info.get(‘key‘)  #获取,如果‘key‘不存在不会报错info.keys  #打印所有的‘key‘info.values  #打印所有的’value‘
View Code

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‘}
View Code

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}
View Code

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)
View Code

python - 字典

评论关闭