|
- def d(q):
- print(q)
- # name = ['大力', '出', '奇迹', '王三岁', '乖乖女', '777']
- w = {'a': '孔大力', 'b': '王三岁', 'c': '大兄弟'}
- # 参考链接 https://baijiahao.baidu.com/s?id=1765940919515603678&wfr=spider&for=pc
- # 参考链接 https://blog.csdn.net/qq_62731133/article/details/127397112
- # 字典的操作
- # 1.访问字典 直接取
- # get(键,默认值) 没有这个键的时候 返回一个默认值 ,有这个键 则默认值无效
- # 2.添加和更新键值对 (何前端的json 一样 直接 m[键]=值 )
- # 3.删除键值对 del 或者 pop(键,'默认值')// 注意这个pop 改变了原本的字典值
- # 4.列表的循环for i, v in w.items():
- # 5.字典的合并update (如果键名相同,则值会覆盖 后面的覆盖前面的)
- # 6.字典复制 (看最下面单独拎了一块)
- # 7.推导公式
- # 使用内置函数dict()通过其他字典创建
- # 使用fromkeys()方法创建字典
- # clear()方法:删除字典中的所有元素
- # items 获取所有键值对视图
- # keys 获取所有键视图
- # values 获取所有值视图
- d(w['a'])
- d(w.get('a'))
- d(w.get('d', '华客'))
- # 孔大力
- # 孔大力
- # 华客
- w['g'] = '王四岁'
- w['a'] = '孔莉'
- d(w)
- # {'a': '孔莉', 'b': '王三岁', 'c': '大兄弟', 'g': '王四岁'}
- del w['a']
- d(w)
- # {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁'}
- w.pop('b')
- d(w)
- # {'c': '大兄弟', 'g': '王四岁'}
- st = ''
- for i, v in w.items():
- st += '{}的值是{}==='.format(i, v)
- d(st)
- # c的值是大兄弟===g的值是王四岁===
- n = {'m': '小刘'}
- w.update(n)
- d(w)
- # {'c': '大兄弟', 'g': '王四岁', 'm': '小刘'}
- n2 = {'m': '张张'}
- w.update(n2)
- d(w)
- # {'c': '大兄弟', 'g': '王四岁', 'm': '张张'}
- n3 = dict(n2)
- d(n2)
- # {'m': '张张'}
- n4 = dict.fromkeys(['鱼', '肉', '奶'], '荤的')
- d(n4)
- # {'鱼': '荤的', '肉': '荤的', '奶': '荤的'}
- d(w.items())
- d(w.keys())
- d(w.values())
- # dict_items([('c', '大兄弟'), ('g', '王四岁'), ('m', '张张')])
- # dict_keys(['c', 'g', 'm'])
- # dict_values(['大兄弟', '王四岁', '张张'])
- # 以上三个数值都可以用 list() 进行转化
- n4.clear()
- d(n4)
- # {}
- newa = {k: v for k, v in n4.items}
- d(newa)
- # 这地方报错了
- # 复制字典
- # copy()方法,返回字典的浅复制,复制父对象及其子对象的引用
- # deepcopy()方法,深复制,完全复制父对象及其子对象,此方法包含在copy模块中
- h = {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁', 'k': ['v1', 'v2']}
- h2 = h
- j = h.copy()
- d(j)
- # {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁', 'k': ['v1', 'v2']}
- k = copy.deepcopy(h)
- d(k)
- # {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁', 'k': ['v1', 'v2']}
- h['k'].append('v3')
- d(h)
- # {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁', 'k': ['v1', 'v2', 'v3']}
- d(h2)
- # {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁', 'k': ['v1', 'v2', 'v3']}
- d(j)
- # {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁', 'k': ['v1', 'v2', 'v3']}
- # 这里有个坑点 因为不是深度复制 子对象仍然受到了影响
- d(k)
- # {'b': '王三岁', 'c': '大兄弟', 'g': '王四岁', 'k': ['v1', 'v2']}
复制代码 |
|