目录
  • 前言
  • 一、key值查找
  • 二、函数查找
    • 2.1 get()
    • 2.2 keys()
    • 2.3 values()
    • 2.4 items()
  • 附:字典的常用方法
    • 总结

      前言

      上一篇文章写了关于字典操作方法的增删改,这篇主要讲解如何查找字典数据。查找数据写法一共有两种,一种能够是key值查找,另外一种是按照函数的写法进行数据查找。

      一、key值查找

      如果当前查找的key存在,则返回对应的值,否则则报错。

      代码示例:

      dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
      # key存在则返回对应值
      print(dict1['name'])  # Rose
       
      # key不存在则报错
      print(dict1['id'])  # 报错
      

      二、函数查找

      2.1 get()

      语法:

      字典序列.get(key, 默认值)

      注意:

      如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

      快速体验:

      dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
      # key存在
      print(dict1.get('name'))  # Rose
      print(dict1.get('name', 'python'))  # Rose
       
      # key不存在,第二个参数存在,返回第二个参数
      print(dict1.get('id', 1010))  # 1010
       
      # key不存在,第二个参数不存在,返回None
      print(dict1.get('id'))  # None
      

      2.2 keys()

      语法:

      字典序列.keys()

      作用:

      查找字典中所有的key,返回可迭代对象(可跌迭代对象就是可以用for遍历的对象)

      快速体验:

      dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
      print(dict1.keys())
      # 结果 dict_keys(['name', 'age', 'sex'])
      # 结果是可迭代对象,用for遍历的对象
      

      2.3 values()

      语法:

      字典序列.values()

      作用:

      查找字典中所有的value,返回可迭代对象(可跌迭代对象就是可以用for遍历的对象)

      快速体验:

      dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
      print(dict1.values())
      # 结果 dict_values(['Rose', 30, '女'])
      # 结果是可迭代对象,用for遍历的对象
      

      2.4 items()

      语法:

      字典序列.get(key, 默认值)

      作用:

      查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典key对应的值。

      快速体验:

      dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
      print(dict1.items())
      # 结果 dict_items([('name', 'Rose'), ('age', 30), ('sex', '女')])
       
      dict1 = {'name': 'Rose', 'age': 30, 'sex': '女'}
      print(dict1.items())
      # 结果 dict_items([('name', 'Rose'), ('age', 30), ('sex', '女')])
       
      # 结果是可迭代对象
      

      附:字典的常用方法

      """
      字典的定义、添加和修改
      """
      dictA = {}  # 空字典,没有任何的数据
      dictA['name'] = 'lihua'  # 将一个键值对添加到字典中,name是key,lihua是value
      print(dictA)  # 输出完整的字典
      dictB = {'name': 'xiaogang', 'age': 18, 'job': [student, cook]}  # 在创建字典时就添加键值对
      print(len(dictB))  # 字典同样可以通过len函数来获取键值对的长度
      print(dictB['name'])  # 因为字典中key具有唯一性,所以可以通过查找key的方式来获取对应的value
      dictB['name'] = 'xiaowang'  # 修改key所对应的value
      
      """
      字典中键、值、键值对的获取
      """
      dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
      print(dictB.keys())  # 获取字典中全部的键
      print(type(dictB.keys))  # 数据类型为dict_keys
      print(dictB.values())  # 获取字典中全部的值
      print(type(dictB.values()))  # 数据类型为dict_values
      print(dictB.items())  # 获取字典中全部的键值对
      print(type(dictB.items()))  # 数据类型为dict_values
      
      """
      字典的遍历操作
      """
      dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
      for item in dictB.items():
          print(item)  # 字典是可以遍历的
          pass
      for key, value in dictB.items():
          print(key + '==' + value)  # 可以用两个临时变量分别接收键值对的key和value
      
      """
      字典的更新、修改
      """
      dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
      dictB.update({'name': 'lki'})  # 利用update函数可以进行对键值对的修改
      dictB.update({'height': '159'})  # update函数还可以增加键值对,有更新字典的特征
      
      """
      键值对的删除
      """
      dictB = {'name': 'lh', 'age': '18', 'job': 'student'}
      del dictB['name']  # 通过指定key可以删除键值对
      dictB.pop('age')  # 通过指定key进行删除
      dictB.clear()  # 清空字典
      del dictB  # 删除字典
      

      总结

      声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。