zoukankan      html  css  js  c++  java
  • 【python--字典】 字典的增删改查

    # (1)字典的增
    # 通过键值对直接增加
    # 有键值则覆盖,如果没有键值则添加
    dic = {'ni':1,'woazia':2}
    dic['hello'] = 6       # 没有'hello'这个键,就增加键值对
    print(dic)             #    {'ni': 1, 'woazia': 2, 'hello': 6}
    dic['ni'] = 65         # 有'ni'这个键,就成了字典的改值
    print(dic)             #    {'ni': 65, 'woazia': 2, 'hello': 6}
    
    # setdefault
    #有键值不做任何改变,没有键值才添加, 无论有没有简直,返回值为待添加的后面的键值
    dic = {'ni':1,'woazia':2}
    dic.setdefault('woshi',1) # 没有'woshi'此键,则添加
    print(dic)                # {'ni': 1, 'woazia': 2, 'woshi': 1}
    dic.setdefault('ni','kaishi') # 有此键则不变   不发生改变
    print(dic)                    # {'ni': 1, 'woazia': 2, 'woshi': 1}
    #  它有返回值
    dic = {'ni':1,'woazia':2}
    re = dic.setdefault('ni')
    print(re)                  # 返回  value --1
    
    
    # (2) 删
    #  pop  索引删除字典对应的元素   可设置返回值
    dic = {'name':'xuanchenli','age':21}
    re = dic.pop('name')      # 删除key 返回对应的 value
    print(dic)
    # {'age': 21}
    print(re)   #   返回key 对应的 值
    # xuanchenli
    #  popitem (删除默认最后一个)
    dic = {'name':'xuanchenli','age':21}
    re = dic.popitem()
    print(dic)
    # {'name': 'xuanchenli'}
    print(re)      #  返回 元组
    # ('age', 21)
    print(re,dic)
    # ('age', 21) {'name': 'xuanchenli'}
    
    # clear  清空字典
    dic = {'name':'xuanchenli','age':21}
    dic.clear()
    print(dic)
    # {}
    #
    # #  del
    # #  通过键删除键值对
    dic = {'name':'xuanchenli','age':21}
    del dic['name']
    print(dic)
    # {'age': 21}
    #  删除整个字典
    dic = {'name':'xuanchenli','age':21}
    del dic
    print(dic)
    
    #   (3)改
    #通过键值对直接改
    dic = {'name':'xuanchenli','age':21}
    dic['name'] = 'lxc'
    print(dic)
    #{'name': 'lxc', 'age': 21}
    #
    # #update   修正
    dic = {'name':'xuanchenli','age':21}
    dic.update(sex = 'nan',hei = '175')      #     映射关系 如果改的 键值对 不在字典里 则添加
    print(dic)
    #  {'name': 'xuanchenli', 'age': 21, 'sex': 'nan', 'hei': '175'}
    dic = {'name':'xuanchenli','age':21}
    dic.update([(1,'a'),(3,'c')])
    print(dic)
    #  {'name': 'xuanchenli', 'age': 21, 1: 'a', 3: 'c'}
    dic = {'name':'xuanchenli','aoa': 21, 1: 'a', 3: 'c','age':21}
    dic1 = {'name':'lxc','age':22}
    dic.update(dic1)
    print(dic)
    # {'name': 'lxc', 'aoa': 21, 1: 'a', 3: 'c', 'age': 22}
    # # (self: dict, __m: Mapping[_KT, _VT], kwargs: Dict[str, _VT]) -> None              Mapping[_KT, _VT],  映射关系   Dict[str, _VT]
    # # • (self: dict, __m: Iterable[Tuple[_KT, _VT]], kwargs: Dict[str, _VT]) -> None    Iterable[Tuple[_KT, _VT]] 可迭代对象 元组组成 tuple    Dict[str, _VT]
    # # • (self: dict, kwargs: Dict[str, _VT]) -> None                                     Dict[str, _VT]
    
    
    #   (4)查
    # 通过键查找
    dic = {'name':'xuanchenli','aoa': 21, 1: 'a', 3: 'c','age':21}
    print(dic['name'])
    # xuanchenli    打印出  对应  值
    
    #  get    查找key 传出对应的 value
    dic = {'name':'xuanchenli','aoa': 21, 1: 'a', 3: 'c','age':21}
    re = dic.get('name')
    print(re)     #  查找key 传出对应的 value
    # xuanchenli
    
    # keys    查找keys  所有的key
    dic = {'name':'xuanchenli','aoa': 21, 1: 'a', 3: 'c','age':21}
    print(dic.keys())
    # dict_keys(['name', 'aoa', 1, 3, 'age'])
    re = dic.keys()
    for i in re:      #  迭代所有 key
        print(i)
    # name
    # aoa
    # 1
    # 3
    # age
    
    #  values   查找字典里所有的 value
    dic = {'name':'xuanchenli','aoa': 21, 1: 'a', 3: 'c','age':21}
    print(dic.values())
    #dict_values(['xuanchenli', 21, 'a', 'c', 21])
    re = dic.values()
    for i in re:               # 迭代所有的 value
        print(i)
        # xuanchenli
        # 21
        # a
        # c
        # 21
    
    # items
    #  获取所有的键值对
    dic = {'name':'xuanchenli','aoa': 21, 1: 'a', 3: 'c','age':21}
    print(dic.items())
    # dict_items([('name', 'xuanchenli'), ('aoa', 21), (1, 'a'), (3, 'c'), ('age', 21)])
    re = dic.items()
    for i in re:
        print(i)
    # ('name', 'xuanchenli')
    # ('aoa', 21)
    # (1, 'a')
    # (3, 'c')
    # ('age', 21)
    #     拆包
    for k,v in re:
        print(k,v,sep='----')
    # name----xuanchenli
    # aoa----21
    # 1----a
    # 3----c
    # age----21
  • 相关阅读:
    MVC中添加执行统计功能
    SVN 全局忽略列表
    WebApi当中微软又犯了一次2
    SQL性能更总
    【懒人专用】快速构建Web请求
    js中模拟多个字母的split
    分页起始位置的懒汉判断方法
    文档摆放
    转: 多线程环境下调用 HttpWebRequest 并发连接限制
    bash命令根据历史记录补全
  • 原文地址:https://www.cnblogs.com/lxcai213/p/13306064.html
Copyright © 2011-2022 走看看