zoukankan      html  css  js  c++  java
  • Python基础学习Day5 字典的增、删、改、查的用法 分别赋值

    一、字典的介绍

    字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据。

              同样是Python中唯一的映射类数据类型。
             数据类型的分类:
            可变的数据类型:list,dic
            不可变的数据类型:str ,int ,bool,tuple
    特点:
           键值对的形式存在,键:值
          字典的键必须是不可变的数据类型。(工作中:都是由 数字或者str组成)
         字典的值可以是任意数据类型


    优点 :
           字典可以存储大量的数据,关系型数据。
           查询速度快

    注意:
            python3.5之前包括3.5版本,字典是无序的。
           python3.6开始是有序的。

    二、增

    方法一:

    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    dic1['sex'] = ''
    dic1['name'] = 'alex'   # 通过键去增或者改
    dic1['job'] = 'it'
    print(dic1)

    方法二:

    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    dic1.setdefault('job','it')
    dic1.setdefault('name', 'alex')
    print(dic1)
    # setdefault 有次key则不做任何操作但是返回对应值,无此key则添加
    结果为:
    {'name': '太白', 'age': 25, 'sex': 'M', 'job': 'it'}

    三、删

    方法一:

    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    # pop 通过键去删除键值对,也返回值。
    print(dic1.pop('name'))
    print(dic1)
    结果为:
    太白

        {'age': 25, 'sex': 'M'}

      print(dic1.pop('name1', None)) # None 可以使任意内容

      print(dic1.pop('name1', '没有此键。。。'))

    结果为:

    None
    没有此键。。。

    方法二:

    #clear   清空
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    dic1.clear()
    print(dic1)
    结果为:
    {}

    方法三:

    # popitem  # 删最后一个3.6     随机删除3.5
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    print(dic1.popitem())
    print(dic1)
    结果为:

    ('sex', 'M')
    {'name': '太白', 'age': 25}

    方法四:

    # del
    # (1)  按照键去删除
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    del dic1['name']
    print(dic1)
    结果为:
    {'age': 25, 'sex': 'M'}
     
    # (2) 内存级别的删除字典
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'
    del dic1
    print(dic1)
    结果为:
    直接报错
    # (1)两个字典 update
    dic = {'name':'jim','age':18,'sex':'M'}
    dic2 = {'name':'alex','weight':75}
    dic.update(dic2)                     # 将dic2中的所有键值对覆盖并添加到dic中,dic2不变。
    print(dic)
    print(dic2)
    结果为:
    {'name': 'alex', 'age': 18, 'sex': 'M', 'weight': 75}
    {'name': 'alex', 'weight': 75}
    
    # (2) update  可以直接将字符串添加到列表
    dic = {'name':'jim','age':18,'sex':'M'}
    dic.update(a='333', b='666', name='taibai')
    print(dic)
    结果为:
    {'name': 'taibai', 'age': 18, 'sex': 'M', 'a': '333', 'b': '666'}
    
    
    

    四、改

    方法一:

    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    dic1['sex'] = ''
    dic1['name'] = 'alex'   # 通过键去增或者改
    dic1['job'] = 'it'
    print(dic1)

    方法二:

    # (1)两个字典 update
    dic = {'name':'jim','age':18,'sex':'M'}
    dic2 = {'name':'alex','weight':75}
    dic.update(dic2)                     # 将dic2中的所有键值对覆盖并添加到dic中,dic2不变。
    print(dic)
    print(dic2)
    结果为:
    {'name': 'alex', 'age': 18, 'sex': 'M', 'weight': 75}
    {'name': 'alex', 'weight': 75}
    
    # (2) update  可以直接将字符串添加到列表
    dic = {'name':'jim','age':18,'sex':'M'}
    dic.update(a='333', b='666', name='taibai')
    print(dic)
    结果为:
    {'name': 'taibai', 'age': 18, 'sex': 'M', 'a': '333', 'b': '666'}

    五、查

    方法一:

    # 根据键去查
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'} print(dic1['name']) print(dic1['name1']) # 没有该键即直接报错

    方法二:

    # (2) get方法
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    print(dic1.get('name'))
    print(dic1.get('name1'))
    print(dic1.get('name1','没此键。。。'))    # 可以为任意值
    结果为:
    太白
    None
    没此键。。。

    方法三:

    # (3)key方法
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    print(dic1.keys(), type(dic1.keys()))   # 类似于列表的容器中
    l1 = list(dic1.keys())                  # 可以转化成list
    print(l1)
    for key in dic1.keys():                  # 可以遍历(查看)
        print(key)
    结果为:
    dict_keys(['name', 'age', 'sex']) <class 'dict_keys'>
    
    ['name', 'age', 'sex']
    
    name
    age
    sex

    方法四:

    # (4)values方法
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    print(dic1.values())   # 可以转化成list ,可以遍历(查看)
    print(list(dic1.values()))
    结果为:
    dict_values(['太白', 25, 'M'])
    ['太白', 25, 'M']

    方法五:

    # (4)items方法
    dic1 = {'name': '太白', 'age': 25, 'sex': 'M'}
    print(dic1.items())        # 可以转化为list ,可遍历(查看)
    print(list(dic1.items()))
    for k, v in dic1.items():
         print(k, v)              # 分别赋值
    结果为:
    dict_items([('name', '太白'), ('age', 25), ('sex', 'M')])
    [('name', '太白'), ('age', 25), ('sex', 'M')]
    name 太白
    age 25
    sex M

    六、分别赋值

    # 分别赋值     # 面试题
    a , b = 10,20
    a ,b = b,a
    print(a,b)
    
    结果为:
     20 10
  • 相关阅读:
    The 2021 CCPC Guilin Onsite【A,I,G(二分),D(思维+构造),E(最短路】
    第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(沈阳)
    The 2021 CCPC Weihai Onsite【G:组合数学(好模板) D:Exkmp利用Z数组跑后缀】
    第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(上海)【I:线性DP】
    项目中基于Rest的Wcf服务发布以及iBatisNet框架的使用(下)
    linq to xml 学习整理
    项目中基于Rest的Wcf服务发布以及iBatisNet框架的使用(上)
    java 工具PDF使用——itextpdf
    在 jQuery 中弹出层中如何实现点击空白处关闭弹出层
    人生,有时候就是这样
  • 原文地址:https://www.cnblogs.com/youhongliang/p/9443938.html
Copyright © 2011-2022 走看看