美文网首页我爱编程
常用数据类型操作(五)

常用数据类型操作(五)

作者: qianranow | 来源:发表于2018-04-16 14:56 被阅读45次

字典


  • 概念:无序的, 可变的, 键值对 集合
  • 定义
    1. {key: value, key1: value2, key2: value2, ...}
       personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
    
    2. fromkeys(S, v=None):静态方法,类调用
       personDict = dict.fromkeys(["name", "age", "address"], 888)
       print(personDict)
    
    3. fromkeys(S, v=None):静态方法,对象调用
       tempDict = {"a": "王", "b": "小", "c": "熊"}
       personDict = tempDict.fromkeys("abc", 888)
       print(personDict)
    
    4. 字典推导式
       s1 = 'this is a good book'
       s2 = {word: True for word in s1.lower().split()}
       print(s2)
    
    注意:
          (1) key 不能重复;如果重复,后值会把前值覆盖
          (2) key 必须是任意不可变类型
              可变:列表,字典,可变集合
              不可变:数值,布尔,字符串,元组
    
  • 应用
    • 可以通过 key,访问对应的值,使得这种访问更具意义
      personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
      nameData = personDict["name"]
      print(nameData)
      
    • 查询效率得到很大提升
  • 操作
    • """
      作用:当 key 在原字典中不存在时,即为新增操作
      语法:dict[key] = value
      """
      personDict = {"name": "wxx", "age": 18}
      personDict["address"] = "杭州市"
      print(personDict)
      
      • del 语句
        """
        注意:key,必须要存在
        """
        personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
        del personDict["name"]
        print(personDict)
        
      • pop
        """
        作用:删除指定的键值对,并返回对应的值
        语法:d.pop(key[, default])
        注意:如果 key 不存在,那么直接返回给定的 default 值,不作删除操作
             如果 key 不存在,且没有给定默认值,则报错
        """
        personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
        removeItem = personDict.pop("age", 23)
        print(vItem, personDict)
        
      • popitem
        """
        作用:删除按升序排序后的第一个键值对,并以元组的形式返回该键值对
        语法:d.popitem()
        注意:如果字典为空,则报错
        """
        personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
        removeItem = personDict.popitem()
        print(removeItem)
        
      • clear
        """
        作用:删除字典内所有键值对
        语法:d.clear()
        返回值:None
        注意:字典对象本身还存在,只不过内容被清空
        """
        personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
        removeItem = personDict.clear()
        print(removeItem, personDict)
        
      • 修改单个键值对
        """
        作用:当 key 在原字典中存在时,即为修改操作
        语法:dict[key] = value
        """
        personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
        personDict["name"] = "qtt"
        print(personDict)
        
      • 批量修改键值对
        """
        作用:根据新的字典,批量更新旧字典中的键值对
        语法:oldDict.update(newDict)
        注意:如果旧字典没有对应的 key,则新增键值对
        """
        personDict = {"name": "wxx", "age": 18}
        personDict.update({"age": 23, "address": "杭州市"})
        print(personDict)
        
      • 获取单个值
        1. """
           语法:dict[key]
           注意:如果 key 不存在,则会报错
           """
           personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
           findItem = personDict["name"]
           print(findItem)
        
        2. """
           语法:dict.get(key[, default])
           注意:如果不存在对应的 key,则取给定的默认值 default
                如果不存在对应的 key,且没有默认值,则为 None,原字典不会新增这个键值对
           """
           personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
           findItem = personDict.get("code", "666")
           print(findItem, personDict)
        
        3. """
           语法:dit.setdefault(key[, default])
           注意:如果不存在对应的 key,则取给定的默认值 default,原字典新增这个键值对
                如果不存在对应的 key,且没有默认值,则为 None,原字典新增这个键值对
           """
           personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
           findItem = personDict.setdefault("code", "666")
           print(findItem, personDict)
        
      • 获取所有的 键值对
        """
        Python2.x:直接是一个列表,可通过下标获取指定元素
        注意:viewkeys()、viewvalues()、viewitems(),作用如同 Python3.x 中的 
             Dictionary view objects
        """
        personDict = {"name": "wxx", "age": 18}
        # 获取所有的键
        keys = personDict.keys()
        # 获取所有的值
        values = personDict.values()
        # 获取所有的键值对
        items = personDict.items()
        print keys, values, items
        personDict["address"] = 888
        print personDict
        print keys, values, items
        
        """
        Python3.x:当字典发生改变时,view objects 会跟着发生改变;
                   转换成列表使用:list(result);
                   转换成迭代器:iter(result);
                   也可以直接被遍历
        """
        personDict = {"name": "wxx", "age": 18}
        # 获取所有的键
        keys = personDict.keys()
        # 获取所有的值
        values = personDict.values()
        # 获取所有的键值对
        items = personDict.items()
        print(keys, values, items)
        personDict["address"] = 888
        print(personDict)
        print(keys, values, items)
        
      • 遍历
        1. 先遍历所有的 key ,然后根据指定的 key ,获取到对应的值
           personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
           keys = personDict.keys()
           for key in keys:
               print(key)
               print(personDict[key])
        
        2. 直接遍历所有的键值对
           personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
           items = personDict.items()
           for k, v in items:
               print(k, v)
        
    • 计算
      """
      键值对个数
      """
      personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
      length = len(personDict)
      print(length)
      
    • 判定
      """
      针对 key 判定
      """
      personDict = {"name": "wxx", "age": 18, "address": "杭州市"}
      print("name" in personDict)
      print("name" not in personDict)
      

相关文章

  • Redis命令操作

    1.添加、修改、获取、删除操作 2.常用五种数据类型的操作 1:五种数据类型 2:字符串型操作 3:哈希类型操作 ...

  • 常用数据类型操作(五)

    字典 概念:无序的, 可变的, 键值对 集合 定义1. {key: value, key1: value2, ke...

  • NoSQL二--Redis

    目录 一、Redis介绍二、安装Redis三、Redis 持久化四、Redis 的数据类型五、Redis常用操作六...

  • redis 之jedis使用

    一、常用数据类型简介: Redis常用五种数据类型:string,hash,list,set,zset(sorte...

  • Redis 内存使用优化与存储

    Redis 常用数据类型 Redis 最为常用的数据类型主要有以下五种: •String •Hash •List ...

  • Redis笔记

    Redis五大数据类型及其常用操作 字符串 set key value ——设置属性值get key ——获取值g...

  • 干货 | Redis 内存使用优化与存储

    干货 | Redis 内存使用优化与存储 Redis 常用数据类型 Redis 最为常用的数据类型主要有以下五种:...

  • 值得玩味儿的14个Python编程小技巧

    主要包含的内容:几种常用数据类型list--->str---->dict--->set的基本转换、常用的操作、文本...

  • 02.`redis`的常用数据类型以及操作

    1. 数据类型 redis官网 数据类型redis 常用的数据类型是五种,但是它支持的数据类型不止五种,如图所示r...

  • JavaScript中的检测类型

    2018/08/12 typeof操作符常用来判断基本数据类型, 但是碰到引用数据类型的时候,typeof仅仅会显...

网友评论

    本文标题:常用数据类型操作(五)

    本文链接:https://www.haomeiwen.com/subject/nvxekftx.html