字典

  • 字典
1.dict:是python中唯一的影射类型对象
2.构成
    key:键
    value:值
    key-value:键值对(常见形式:k-v)
  • 字典的特点
1.不支持下标操作
2.不支持切片操作
3.不是序列(无序)
4.是可迭代对象
5.字典中的键是唯一的,不可重复的
  • 创建字典
1.手工创建
    变量 = {键1:值1,键2:值2}
    d = {}:空字典
2.构造方法
    dict():关键空字典
    dict(mapping):以映射创建字典
    dict(**kwwargs):使用命名关键字参数创建字典
    dict(iterable):使用可迭代对象创建字典
        iterable是一个二维可迭代对象
        注意可迭代对象的每个元素要有两个元素
        这种可迭代对象叫做具有映射关系的可迭代对象
            形式如下[('a',1),('b',2)]
d1 = dict(a=1,b=2)
d2 = dict()
d = dict([('a',1),('b',2)])
print(d, d1, d2)
{'a': 1, 'b': 2} {'a': 1, 'b': 2} {}
  • 增加元素(增)
1.update([E,],**F):
    1.传入一个字典,用新字典的键值对,更新老字典
    2.传入关键字参数,更新老字典
        字典.update(a=1)
2.手工添加
    dict1[键名] = 值
代码:
d1 = {'a':1,'b':2}
print(d1)
d2 = {'b': 99}
d1.update(d2)
d1.update(a=100)
print(d1)

效果:
{'a': 1, 'b': 2}
{'a': 100, 'b': 99}
  • 删除元素(删)
1.clear():
    清空字典
2.pop(k,[d]):提示参数d
    删除k对应的键值对,如果k存在则返回k键对应的值,不存在则返回d的值
3.popitem():
    随机(遵循某种算法)删除一个键值对,并返回这个键值对
  • 修改元素(改)
1.手工修改
    dict1[已有键的名] = 新的值
  • 访问元素(查)
1.访问一个
    键操作
    dict[键名]
    不支持下标操作
2.访问所有
    遍历
    如果直接遍历字典,只能遍历出键(默认)
    字典中只有键
  • 方法
1.copy():
    浅拷贝
2.fromkeys(iterable, value=None):
    将可迭代对象中的元素作为键,value作为每个元素的value
3.get(k[,d]):
    k:key
    d:默认值,默认为None(可以作为提示信息)
    从字典中,获取键k的值,等同于dict['key']
    若k存在则返回对应的值,如不存在时,则返回d值
4.items()
    返回的是一个具有映射关系的可迭代对象
    返回一个dict_items对象形式
    for k, v in d.items()
5.keys():
    将字典中所有键,打包进行返回
6.values():
    将字典中所有值,打包进行返回
7.d.setdefault(k[,d]):
    若k存在,同get()方法,若k不存在,则给字典添加一个元素:dict1[k] = d
  • 字典支持的运算符
1.成员关系运算符
    in / not in