
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。
字典是Python语言中唯一的映射类型。
定义:
{key1:value1,key2:value2}
1、键与值用冒号“:”分开;2、项与项用逗号“,”分开;
示例:
info ={"name":"小猿圈","mission":"帮一千万极客高效学编程","website":"http://apeland.com"}
特性:
- key-value结构
- key必须为不可变数据类型、必须唯一
- 可存放任意多个value、可修改、可以不唯一
- 无序
- 查询速度快,且不受dict的大小影响,至于为何快?我们学完hash再解释。
创建操作
>>>person ={"name":"alex",'age':20}#或>>>person = dict(name='seven', age=20)#或>>>person = dict({"name":"egon",'age':20})#或>>>{}.fromkeys([1,2,3,4,5,6,7,8],100){1:100,2:100,3:100,4:100,5:100,6:100,7:100,8:100}
增加操作
names ={"alex":[23,"CEO",66000],"黑姑娘":[24,"行政",4000],}# 新增knames["佩奇"]=[26,"讲师",40000]names.setdefault("oldboy",[50,"boss",100000])# D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
删除操作
names.pop("alex")# 删除指定keynames.popitem()# 随便删除1个keydel names["oldboy"]# 删除指定key,同pop方法names.clear()# 清空dict
修改操作
dic['key']='new_value',如果key在字典中存在,'new_value'将会替代原来的value值;dic.update(dic2)将字典dic2的键值对添加到字典dic中
查操作
dic['key']#返回字典中key对应的值,若key不存在字典中,则报错;dic.get(key,default=None)#返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)'key'in dic #若存在则返回True,没有则返回Falsedic.keys()返回一个包含字典所有KEY的列表;dic.values()返回一个包含字典所有value的列表;dic.items()返回一个包含所有(键,值)元组的列表;
循环
1、for k in dic.keys()2、for k,v in dic.items()3、for k in dic # 推荐用这种,效率速度最快info ={"name":"小猿圈","mission":"帮一千万极客高效学编程","website":"http://apeland.com"}for k in info:print(k,info[k])输出name 小猿圈mission 帮一千万极客高效学编程website http://apeland.com
求长度
len(dic)