zoukankan      html  css  js  c++  java
  • Python----字典的增删改查以及嵌套

    #字典
    #基础数据类型之一,{}以键值对的形式存储数据。
    # dic={'name':'Laonanhai',
    # 'age':45,
    # 'name_list':['反面教材','俊俊',....]
    # }
    # 以key:value形式,映射,存储的大量的关系型数据。
    # 数据类型的分类:
    # 可变(不可哈希hash):list,dict,set,list=[11,222,333]
    # 不可变(可哈希hash):str,tuple,int,bool name='alex'
    # 容器类:
    # 容器类的数据类型:list ,tuple, dict, l1=[11,True,'alex',[22,33,44]]
    # 非容器类的数据类型:str ,int, bool. s1='[11,22,33]'
    # 字典的key必须是不可变的数据类型,是唯一的,
    # hash算法:字典的键通过hash表转化成数字,采用二分查找查询数字
    # 字典的value可以是任意数据类型
    # 字典的查询速度非常快,存储的大量的关系型数据
    # 字典在python3.5包含3.5之前都是无序,但3.6之后是有序的
    #键唯一
    # dic={
    # 'name':'alex',#当有两个的时候自动覆盖
    # 'name':'WuSir',
    # }
    # print(dic)
    #键必须是不可变的可哈希的数据类型
    # dic={'name':'老男孩','age':'56','hobby':'women'}
    #增
    # dic['sex']='LaddyBoy'
    # dic['name']='Alex' #有则覆盖,没有就添加
    # dic.setdefault('sex','Laddyboy') #有则不变,无则添加。
    # dic.setdefault('name','alex')
    # print(dic)

    #删
    # print(dic.pop('age')) #有返回值,返回的是键对应的值
    # print(dic.pop('age1','没有此键....'))#可以对返回值进行重新赋值操作
    # print(dic)

    # dic.clear()#清空字典
    # print(dic)

    # print(dic.popitem())#随机删除,有返回值,返回值为元组,里面是 删除的键值对
    # print(dic)

    #del
    #1,删除整个字典
    # del dic #删除以后的字典不存在,如果再次打印会报错
    # print(dic)
    #2,按照键删除键值对
    # del dic['name']
    # print(dic)

    #改
    # dic['name']='Alex' #有则覆盖,没有就添加
    # #update 两个字典的更新
    # dic={'name':'jin','age':18,'sex':'male'}
    # dic2={'name':'alex','weight':75}
    # dic2.update(dic) #将dic里面的所有键值对,覆盖添加到dic2中,dic不变
    # print(dic) #{'name': 'jin', 'age': 18, 'sex': 'male'}
    # print(dic2) #{'age': 18, 'name': 'jin', 'weight': 75, 'sex': 'male'}

    #查
    #1,dic['name']
    # print(dic['name'])
    #
    # #2.dic.get('name')
    # print(dic.get('name'))
    # print(dic.get('name1')) #在使用get查询没有时会返回none 可以对他进行操作
    # print(dic.get('name1','sb没有此键'))

    #for循环查询
    #dic.key(), dic.values(), dic.items() #类似于list但不是list的类型。
    # print(dic.keys(),type(dic.keys()))
    # for key in dic.keys():
    # print(key)
    # l_key=list(dic.keys())
    # print(l_key)
    # for value in dic.values():
    # print(value)
    # l_value=list(dic.values())
    # print(l_value)
    # print(dic.items())

    #分别赋值概念
    # a,b=1,2
    # c,d=('alex','34')
    # e,f=['alex','34']
    #有如下a=1 b=3,用一行代码将a,b值互换。
    # a=1
    # b=3
    # a,b=b,a
    # print(a,b)
    # print(dic.items())
    #
    # for i in [22,33,44]:
    # print(i)
    # for i in [(11,22),(33,44),(55,66)]:
    # print(i)
    # # k,v=('name','老男孩')
    # for k,v in dic.items():
    # print(k,v)

    #字典的嵌套
    dic = {
    'name_list':['碗蓉','俊俊','爽妹'],
    'status':None,
    'personal_msg':{
    'name':'反面教材',
    'age':25,
    'hobby_list':['抽烟','喝酒','烫头'],
    }

    }
    # 1,给dic添加一个键值对,学校:老男孩
    # dic['学校']='老男孩'
    # print(dic)
    # 2,将status对应的值改成True
    #第一种方法:
    # dic3={'status':'True'}
    # dic.update(dic3)
    # #第二种方法:
    # # dic['status']='True'
    # print(dic)
    # 3,给name_list对应的列表追加一个元素:平平
    # dic['name_list'].append('平平')
    # print(dic)
    # 4,给personal_msg对应的字典添加一个键值对sex:男
    # dic['personal_msg']['esx']='男'
    # print(dic)
    # 5,将hobby_list 对应的列表中的烫头改成唱歌。
    dic['personal_msg']['hobby_list'][-1]='唱歌'
    print(dic)







  • 相关阅读:
    dpdk 连接错误
    strace 跟踪文件
    鲲鹏服务器 centos 升级gcc + 安装qemu
    centos 升级gcc
    undefined reference to `shm_open'
    Golang与C互用
    [ TIME ] Timed out waiting for device dev-ttyS0.device. [DEPEND] Dependency failed for Serial Getty on ttyS0.
    大型 Web 应用插件化架构探索
    网易游戏基于 Flink 的流式 ETL 建设
    基于WASM的无侵入式全链路A/B Test实践
  • 原文地址:https://www.cnblogs.com/weilaixiaochaoren/p/8987029.html
Copyright © 2011-2022 走看看