• Python字典的增删改查以及嵌套


    嗨喽,大家好呀~这里是爱看美女的茜茜呐


    👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

    python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可


    字典

    基础数据类型之一,{}以键值对的形式存储数据。

     dic={'name':'Laonanhai',
    
          'age':45,
    
          'name_list':['反面教材','俊俊',....]
    
          }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    以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之后是有序的

    键唯一

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    # dic={
    
    #    'name':'alex',#当有两个的时候自动覆盖
    
    #    'name':'WuSir',
    
    # }
    
    # print(dic)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    键必须是不可变的可哈希的数据类型

    # dic={'name':'老男孩','age':'56','hobby':'women'}
    
    • 1

    # dic['sex']='LaddyBoy'
    
    # dic['name']='Alex'  #有则覆盖,没有就添加
    
    # dic.setdefault('sex','Laddyboy')  #有则不变,无则添加。
    
    # dic.setdefault('name','alex')
    
    # print(dic)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    # print(dic.pop('age'))  #有返回值,返回的是键对应的值
    
    # print(dic.pop('age1','没有此键....'))#可以对返回值进行重新赋值操作
    
    # print(dic)
    
    # dic.clear()#清空字典
    
    # print(dic)
    
    # print(dic.popitem())#随机删除,有返回值,返回值为元组,里面是 删除的键值对
    
    # print(dic)
    
    #del
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    1,删除整个字典
    # del dic    #删除以后的字典不存在,如果再次打印会报错
    
    # print(dic)
    
    • 1
    • 2
    • 3
    2,按照键删除键值对
    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    # del dic['name']
    
    # print(dic)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    # 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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    1,dic[‘name’]
    # print(dic['name'])
    
    • 1
    2.dic.get(‘name’)
    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    # print(dic.get('name'))
    
    # print(dic.get('name1'))  #在使用get查询没有时会返回none 可以对他进行操作
    
    # print(dic.get('name1','sb没有此键'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    分别赋值概念

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    # a,b=1,2
    
    # c,d=('alex','34')
    
    # e,f=['alex','34']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    有如下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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    字典的嵌套

    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    dic = {
    
        'name_list':['碗蓉','俊俊','爽妹'],
    
        'status':None,
    
        'personal_msg':{
    
            'name':'反面教材',
    
            'age':25,
    
            'hobby_list':['抽烟','喝酒','烫头'],
    
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    1,给dic添加一个键值对,学校:老男孩
    # dic['学校']='老男孩'
    
    # print(dic)
    
    • 1
    • 2
    • 3
    2,将status对应的值改成True

    第一种方法:

    # dic3={'status':'True'}
    
    # dic.update(dic3)
    
    • 1
    • 2
    • 3

    第二种方法:

    # dic['status']='True'
    
    # print(dic)
    
    • 1
    • 2
    • 3
    3,给name_list对应的列表追加一个元素:平平
    '''
    遇到问题没人解答?小编创建了一个Python学习交流QQ群:261823976
    寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
    '''
    # dic['name_list'].append('平平')
    
    # print(dic)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    4,给personal_msg对应的字典添加一个键值对sex:男
    # dic['personal_msg']['esx']='男'
    
    # print(dic)
    
    • 1
    • 2
    • 3
    5,将hobby_list 对应的列表中的烫头改成唱歌。
    dic['personal_msg']['hobby_list'][-1]='唱歌'
    
    print(dic)
    
    • 1
    • 2
    • 3
    尾语

    感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

    希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

    躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

    最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

  • 相关阅读:
    EXCEL2016 OLE/COM开发-常用功能封装代码(不断更新完善)
    对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中的所有值为x的数据元素
    vue3 Composition 组合式API+TypeScript基本使用
    【JVM笔记】热点代码及探测方式
    第十四届蓝桥杯 三国游戏
    端口排查步骤-7680端口分析-Dosvc服务
    2020年美团Java一面,美团面经面试流程面试题整理
    NoSQL之Redis配置与优化
    Java Spring框架是什么?它有哪些好处?
    [附源码]计算机毕业设计JAVA血库管理系统
  • 原文地址:https://blog.csdn.net/m0_72282564/article/details/133172979