zoukankan      html  css  js  c++  java
  • Python-字典的一点记录

    字典及基本操作

    字典简述

    从实际需求出发,当我们想要保存学生的学号,姓名等基本信息的时候。例如:学号:123456789

    姓名:张三。这组数据看起来像是两个列表,但是元素之间存在着一定的关联关系。为了保存具有映射关系的数据,Python提供了字典这样的一个数据结构。

    字典也是一种常用的数据结构,它相当于保存了两组数据,其中一组数据是关键数据,也就是 key;另一组数据可以通过key来访问,也就是value。简单的来说,就是一组数据是我们定义的变量名字,另一组变量是这些变量名所对应的具体的值,类似于结构体。

    如同变量名不能重复一样,字典中的key,也不可以重复。

    也和变量名一旦申请创建后不能改变一样,字典中的key除了可以用整形,字符串等等基本类型外,也可以使用元组这种不可变类型。列表是可变类型,所以不能够作为字典的key

    字典操作

    • 创建:

      • 可以使用花括号来创建;
      • 可以使用函数 dict() 。另外 dict是一种类型,即Python中的字典类型。
      dict1={"id":123456789,"name":张三}
      
      #创建 元组作为 key value
      value=[("key1",1),("key2",2),("key3",3)]
      #创建 列表双元素作为 key value
      value=[["key1",1],["key2",2],["key3",3]]
      dict1=dict(value)
      
      #创建空的字典
      dict2=dict()
      
      #直接指定对应关系创建字典
      dict3=dict(k1=101,k2=303,k3=404)
      #注:此时key不允许使用表达式 此时key不需要使用引号引起来。
      
    • 访问

      对于字典来说,所有的操作都是基于key进行。例如访问value、添加数值对、删除数值对、修改数值对、判定数值对等等

      #访问value
      print(dict3['k1'])
      #添加
      dict3['k4']=1
      #删除
      del dict3['k1']
      #修改
      dict3['k2']=89
      #判定存在
      print("k1" in dict3)
      print("k2" not in dict3)
      print('k3' in dict3)
      
      #变量访问
      val=k1
      dict3[val]
      
    • 添加

    • 方法

      ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

      clear() 清空数值对,执行后原字典变为空字典

      get() 通过key获取value,当访问不存在的key时,返回NONE。

      update() 更新数值对,将原有的value覆盖。若key不存在,则会新增一个数值对。

      items() 获取字典中所有的数值对,返回dict_items对象

      keys() 获取字典中所有的key,返回dict_keys对象

      values() 获取字典中所有的value,返回dict_values对象

      最好不要直接操作这三个对象,我们可以通过list()函数转换成列表进行操作

      pop() 获取指定数值对,并且删除。

      popitem() 获取底层存储的最后一个数值对

      setdefault() 根据key获取value,当key不存在时赋予初始值

      dict1.clear()
      dict1.get("key1")
      dict1.update("key1":2323)
      
      idems_dict1=dict1.items()
      list(idems_dict1)[1]
      #keys() values() 类似
      
      dict1.pop("key1")
      
      dict1.setdefault("key9")
      
    • 函数

      cmp(dict1,dict2) 比较

      len(dict) 计算元素个数

      str() 输出字典可打印的字符串表

      type(dict) 数据类型

    • 文件读取txt

      • json

      利用dumps和loads进行字典与字符串的转化

      json.dumps(dict1)
      json.loads(dict1)
      
      • str
      str(dict1)#转化字符串
      eval(dict1)#将转化的字符串去引号
      
  • 相关阅读:
    nginx中的location匹配规则介绍
    有关博客更新的说明
    nginx配置不同路径下的转发代理
    laravel-admin使editormd支持粘贴截图并自动生成简介
    ERROR [HY000][1822]: Failed to add the foreign key constraint.
    MySQL如何只获得查询结果的前n条数据
    Java常用日期操作
    网络工具_nc
    kali安装工具
    有趣的小东西--打印彩色系统信息
  • 原文地址:https://www.cnblogs.com/taoyao-ccdr/p/14828570.html
Copyright © 2011-2022 走看看