字典的定义与特性
字典是Python语言中唯一的映射类型。定义:{key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;特性
1.key-value结构
2.key必须可hash、且必须为不可变数据类型、必须唯一
3.可存放任意多个值、可修改、可以不唯一
4.无序
5.查找速度快 # 会把key做hash生成数字,然后排序,提高查找速度
字典的创建与常见操作字典的创建
>>> person = {"name":"yihou", 'age':18}
# 或
>>> person = dict(name="yihou", age=18)
# 或
>>> person = dict({"name":"yihou", 'age':18})
# 或
>>> person = dict((['name','张三'], ['age', 18]))
>>> dic = {}.fromkeys(['k1','k2'],[])
>>> dic
{'k1': [], 'k2': []}字典的常见操作
键、值、键值对
1、dic.keys() 返回一个包含字典所有KEY的列表;
2、dic.values() 返回一个包含字典所有value的列表;
3、dic.items() 返回一个包含所有(键,值)元祖的列表;
4、dic.iteritems()、dic.iterkeys()、dic.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
新增
1、dic['new_key'] = 'new_value';
2、dic.setdefault(key, None) ,如果字典中不存在Key键,由 dic[key] = default 为它赋值;
3、dic.fromkeys(keys, values)生成一个新的字典,并赋值
删除
1、dic.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
2、dic.popitem() 随机删除
3、dic.clear() 删除字典中的所有项或元素;
4、del dic[key] 删除某个key和value
修改
1、dic['key'] = 'new_value',如果key在字典中存在,'new_value'将会替代原来的value值;
2、dic.update(dic2) 将字典dic2的键值对添加到字典dic中
查看
1、dic['key'],返回字典中key对应的值,若key不存在字典中,则报错;
2、dict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
循环
1、for k in dic.keys()
2、for k,v in dic.items()
3、for k in dic
长度
1、len(dic)
合并
1、dic.update(dic2),有重复值则覆盖,没有则合并。
多级字典的嵌套
字典里边嵌套字典