python - 字典

字典一种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

 

posted @ 2017-09-19 16:58  卡布诺奇  阅读(159)  评论(0)    收藏  举报