zoukankan      html  css  js  c++  java
  • python数据类型三(字典)

    基本数据类型(dict)

    一丶字典的简单介绍

      字典是python中唯一一个映射类型,他是以{}括起来的键值对组成,在dict 中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key-value 保存在这个地址中.这种算法被称为hash算法,所以,切记,在dict中存储key-value中的key 必须是可以hash的,如果你暂时搞不懂什么是可哈希,暂时可以这样记住,可以改变的都是不可哈希的,那么可哈希就意外着不可变,刻个是为了能更准确的聚酸内存地址而规定的.

        已知的可哈希(不可变) 的数据类型: int str tuple bool

        不可哈希的(不可变)数据类型:list dict set

     语法:

        {key1:value1,key:value2....}

     注意:key 必须是不可变的(可哈希)的,value没有要求,可以保存任意类型的数据

     1 dic = {'name':'alex','age':9000}   #字符串
     2 print(dic)
     3 
     4 dic = {1:'a',2:'b',3:'c'}           #数字
     5 print(dic)
     6 
     7 dic = {True:'1',False:'0'}          #布尔值
     8 print(dic)
     9 
    10 dic = {(1,2,3):'abc'}                #元组
    11 print(dic)
    View Code

      dict 保存的数据不是我们添加进去 的顺序保存的,是按照hash表的顺序保存的.而hash表不是

      连续的,所以不能进行切片工作,只能通过key来获取dict中的数据

    二丶字典的增删改查和相关操作

    1.增加

      dic['火女'] = '人头狗'   # 新增
      print(dic)
      dic.setdefault('火女','安妮')     # 如果在字典中存在就不进行任何操作,不存在就进行添
     
    dic.setdefault('火女','火男')

    2.删除

        ret = dic.pop('易大师')  #通过key删除  返回被删除的value
        print(ret)
        del dic['剑豪']
        dic.clear()   # {}
    
        ret = dic.popitem()   #随机删除  返回值 一个元组  (key,value)
        print(ret)
        print(dic)

    3.修改

       dic['剑豪'] = '哈莎阁'   # 强制修改
    
        dic1 = {'火女':'安妮','火男':'布兰德','维恩':'暗影猎手','剑豪':'哈莎阁'}
        dic1.update(dic)
    
        print(dic1)

    4.查询

        #for 循环       元组  键  值   键值对
    
        for i in  dic:
            print(i)     #for 循环默认是获取字典中的键
    
        print(dic['易大师父'])                   #查看1   没有这个键的时候查询会报错
        print(dic.get('易大师','你傻啊,没有!'))    #查看2   没有返回None 可以指定返回内容
    
        print(dic.setdefault('易大师范湖'))        #查看3    没有返回None

    5.相关其他操作

       keys  values items
    
        print(dic.keys())  # (高仿列表)
        print(dic.values())  # (高仿列表)
        print(dic.items())
        for i in dic.keys():
            print(i)
    
        for i in dic:
            print(i)     #获取到字典中的每一个键
    
        for i in dic.values():
            print(i)     #获取到字典中的每一个值
    
        for i in dic.items():
            print(i)

    5.1

    # 解构(解包)
    
        a,b = '12'   #将后边解构打开按位置赋值给变量 支持  字符串 列表 元组
        print(a)
        print(b)
        dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
        for a,b in dic.items():
            print(a)
            print(b)
    
    
        dic1 = {}
    
        dics = dic1.fromkeys([1,2,3],'abc')

    三丶字典的嵌套

    dic = {
        'name':'汪峰',
        'age':43,
        'wife':{
            'name':'国际章',
            'age':39,
            'salary':100000
        },
        'baby':[
            {'name':'熊大','age':18},
            {'name':'熊二','age':15},
        ]
    
    }
    
    dic['baby'][0]['age'] = 19
    
    print(dic)
  • 相关阅读:
    JavaWeb
    JavaWeb
    appium+python实现手机计算器随机计算
    使用uiautomatorviewer工具遇到以下问题-Unexpected error while obtaining UI hierarchy
    appium+python启动手机淘宝
    appium基本环境搭建
    python多个字典“合并”成一个字典
    HTML基础1-图像
    HTML基础1-文本
    RobotFrame简要安装
  • 原文地址:https://www.cnblogs.com/xintiao-/p/9401517.html
Copyright © 2011-2022 走看看