zoukankan      html  css  js  c++  java
  • 第三章--第四节:字典

    字典和列表一样是一种可变容器,同样也可以存储不同类型的数据,字典的中数据是以键值对的形式存储的(key:value),数据与数据之间用逗号分割。

    零、创建字典

    1. 创建普通字典
      所谓的普通字典,就是字典中存储的数据类型一致,这里所谓的数据类型一致,指的是 value 数据类型一致。创建方法如下:
    # 创建一个个人信息字典
    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊'}
    # 创建一个http状态码字典
    http_state={200:'成功',500:'服务器错误',404:'找不到页面'}
    
    1. 创建空字典
      空列表就是不包含任何数据的列表。创建方式如下:
    person={}
    
    1. 创建混合字典
      混合字典就是字典内包含的数据的类型不同(比如包含的数据的类型即包含整型又包含字符串)。创建方式如下:
    # 创建一个个人信息字典
    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    

    注意:

    1. 字典的key是不能变的,且类型必须是符串、数字或元组(在后面我们将会讲到元祖);
    2. 字典的value是可变的。

    一、获取字典元素

    获取字典元素的方法有简单的方式和for循环方式,其中for循环方式有三种方法。

    1. 简单方式
      当我们知道字典元素key的情况下,我们可以使用这个方式取出指定的值(value),语法如下:
    dict[key]
    
    

    我们通过一个例子来看具体用法

    # 定义一个个人信息字典
    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    # 取出个人信息中的name、address,并打印
    print(person['name'])
    print(person['address'])
    
    1. for循环:简单方式
      利用for循环简单的方式可以让我们取出来字典中所有(或部分)的数据。下面我们通过例子来看一下这种方式怎么使用。
    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    
    # 例子一、取出全部的个人信息
    for key in person:
      print(person[key])
    
    # 例子二、取出部分数据如果age大于40 就不显示年龄,显示年龄偏大
    for key in person:
      value=person[key]
      if key=='age' and value>40:
        print('年龄偏大')
        continue
      print(value)
    
    # 例子三、以key:value的形式输出,例如:name:张三
    for key in person:
      print(key,':',person[key])
    
    
    1. for循环:items 方式
      上一小节的例子三中我们同时取出了key和value,但是这种方式我们可以看出来不是很方便,所以我们可以使用 items() 方法对例子三进行改造。
    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    
    for key,value in person.items():
      print(key,':',value)
    
    

    我们从上面的代码可以看出,我们通过 items 方法直接取出来key和value,而且取出value时不是通过dic[key]的方式。

    注意:利用在利用 items 方法的时候,需要记住的时 for 循环的两个变量key在前,value在后。

    二、修改、添加、删除字典元素

    1. 修改
      字典修改的方式和列表类似,只不过列表传入的是小标索引,而字典传入的是key,语法如下:
    dict[key]=new_value
    

    我们通过例子来看一下该怎么使用

    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    # 将name 修改欸王欢,性别为女
    person['name']='王欢'
    person['sex']='女'
    
    1. 添加
      添加字典元素我们直接使用类似与修改的方式进行操作,语法如下:
    dict[new_key]=new_value
    
    

    我们通过一个例子来看一下,具体怎么使用

    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    # 新增所在公司
    person['company']='阿里巴巴'
    
    
    1. 删除
      删除字典分为删除字典元素和删除整个字典,下面我们来分别讲一下。
    • 删除字典元素
    1. del
      该方法和列表的del删除方法类似,语法如下:
    del dict[key]
    
    

    通过例子来看一下

    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    del person['age']
    # 打印字典,发现age元素已经被删除
    print(person)
    
    
    1. pop
      pop 方法也和列表的使用方式类似,删除元素并返回被删除的元素,语法如下:
    dict.pop(key[,default])
    
    

    这里的default代表在没有指定的key时候返回的默认内容,下面我们通过例子来看一下。

    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    # 删除name
    person.pop('name')
    # 定义default再次删除name,这事将返回“没有这个元素了”
    person.pop('name','没有这个元素了')
    
    
    1. popitem
      popitem 方法的作用虽然和pop一样,也是删除元素并返回被删除的元素,但是他是随机删除一个元素,一般情况会删除最后一个元素,语法如下:
    dict.popitem()
    
    

    通过例子来看一下具体怎么使用

    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    person.popitem()
    
    
    • 删除整个字典
      删除整个字典的方法有两种:delclear
    1. del
      该方法函数是删除字典,也就是说该函数会彻底删除整个字典,通过例子来看一下
    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    # 删除整个字典
    del person
    # 打印这个字典,将会报错,因为这个字典已经被彻底删除
    print(person)
    
    
    1. clear
      该函数的作用是清空字典,但不删除字典。通过例子来看一下。
    person={'name':'张三','sex':'男','address':'北京市西城区白纸坊','age':45,'weight':74.34}
    # 删除整个字典
    person.clear()
    # 打印这个字典,将会输出一个空的字典
    print(person)
    

    三、字典其他操作

    我们再来看一下字典的其他操作

    函数 说明
    dict.copy() 返回一个字典的浅复制
    dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
    key in dict 键在字典dict里返回true,否则返回false
    dict.keys() 获取字典里所有的key
    dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    dict.update(dict2) 把字典dict2的键/值对更新到dict里
    dict.values() 获取字典里所有的value

    四、小结

    本节讲解了字典的创建和增删改查,本节内容相对简单,但本节是后面课程的基础,所以一定要掌握本节所讲的

    五、作业

    将第三章第三节的作业改写成字典。

    觉得不错打赏一下吧,金额随意!

  • 相关阅读:
    并发与并行
    连接221.5.250.163的16000端口问题(转载)
    删除瑞星 江民 卡巴 360文件夹下的MFC42.DLL
    pif文件
    超级浓缩diy.asp上传小马
    删除瑞星 江民 卡巴 360文件夹下的MFC42.DLL
    超级浓缩diy.asp上传小马
    一个怪异的病毒Backdoor.RWX.2005.hy(转载)
    一个怪异的病毒Backdoor.RWX.2005.hy(转载)
    修改加速软件之本地分流(突破电信上网限制)
  • 原文地址:https://www.cnblogs.com/gangzhucoll/p/12778226.html
Copyright © 2011-2022 走看看