字典:

  1. 定义:dict

  2. dict = {"key":"value"} -- 键值对

  3. 作用:存储大量数据,数据和数据起到关联作用

  4. 所有的操作都是通过键来完成

  5. 键:必须是不可变的数据类型(可哈希),且唯一不可变

  6. 值:任意的数据类型

  7. 字典是可变的数据类型,无序的

  8. 字典的增:

    1. 暴力添加:dict["key"] = "value"

      • 添加一个键值对,可以是列表
    2. 有责添加,无则不添加

      • dict。setdefault(“key”,“value”)

         dic = {
        "日魔":["看动漫","健身","吃包子","吃大煎饼","吃大烧饼"],
        "炮手":"飞机",
        "豹哥":"贴膏药",
        "宝元":"宝剑",
        "alex":"吹牛逼"
        }
        dic.setdefault("元宝",["唱","跳","篮球","喝酒"])
        print(dic)
      • setdefault分为两步:

        • 先查看键是否在字典中
        • 不存在的时候进行添加
  9. 字典的删

    1. dict.pop() -- pop删除字典中的键进行删除,返回的也是删除的值
    2. dic.popitem() -- 随机删除 python3.6是删除最后一个
    3. dict.clear()-- 清空
    4. del dict -- 删除的是整个容器
    5. del dic["key"] -- 通过键进行删除
  10. 字典的改

    1. dic["key"] = "value" -- 有则覆盖,无则添加
    2. dict.update() --- 当update中的字典里没有dic中键值对就添加到dic字典中,如果有就修改里边对应的值
  11. 字典的查

    1. dict.get("key") -- 查询不到就返回None

    2. dic.get("key","定制内容") --- 查找不到就返回自己输入的定制内容

    3. dict.setdefault("key") --- 查询不到返回None

    4. dict.["key"] -- 查询不到就报错

    5. 查看所有的键

      for i in dic:   # 查看所有的键
      print(i)
    6. 查看所有的值

      for i in dic:   # 查看所有的值   print(dic.get(i))
    7. 获取到的是一个高仿列表

      print(dic.keys())   # 获取到的是一个高仿列表
      print(dic.values()) # 获取到的是一个高仿列表
    8. 高仿列表支持迭代,不支持索引

      面试题:
      a = 10
      b = 20
      a,b = b,a
      print(a)
      print(b)
          dic = {"key1":2,"key2":4}
      a,b = dic
      print(a)
      print(b)
  12. 解构的作用:

    1. 两个都是列表的时候才可以相加

      lst = [1,2,3,4,5,6,7,8]
      lst1 = lst[:2]
      两个都是列表的时候才能够相加 lst1.append(lst[4])
      for i in lst1:
      print(i)
    2. *是万能接受

    3. lst = [1,2,3,4,5,6,7,8]
      a,b,c,d,e,*aa = lst # *是万能接受print(a,b,e)
    4. 字典嵌套查找的时候一定是按照键一层一层进行查

从入门到自闭之Python字典如何使用的更多相关文章

  1. 从入门到自闭之Python集合,深浅拷贝(大坑)

    小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行 ...

  2. 从入门到自闭之Python三大器--生成器

    1.什么是生成器 核心:生成器的本质就是一个迭代器 迭代器是python自带的的 生成器是程序员自己写的一种迭代器 编写方式: 基于函数编写 推导式编写 def func (): print(&quo ...

  3. 从入门到自闭之Python 基础习题训练

    """ name = input(">>>")通过代码来验证name变量是什么数据类型? """ na ...

  4. 从入门到自闭之Python基础——函数初识

    1. 文件操作: 读操作: 格式:f = open("文件路径",mode = "r",encoding = "utf-8") f : 代表 ...

  5. 从入门到自闭之python初识

    Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: ​print (int ...

  6. 从入门到自闭之Python解释器安装

    Python解释器的安装 1 下载 ​ 下载地址:https://www.python.org 选择windows平台的链接进行下载 https://www.python.org/downloads/ ...

  7. 从入门到自闭之Python整型,字符串以及for循环

    Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: ​ print (in ...

  8. 从入门到自闭之Python入门

    python是一门解释型编程语言 变量名命名的规则: 变量名由字母,数字,下划线组成 变量名不能以数字开头 变量名要具有可描述性 变量名要区分大小写 变量名禁止使用python关键字 变量名不能使用中 ...

  9. 从入门到自闭之Python序列化

    序列化(背) json :将数据类型转换成字符串(序列化),将字符串装换成原数据类型(反序列),支持dict,list,tuple等,序列后都变成了列表 dumps,loads ------ 用于网络 ...

随机推荐

  1. C++入门经典-例7.6-this指针,同一个类的不同对象数据

    1:对于类的非静态成员,每个对象都有自己的一份拷贝,即每个对象都有自己的数据成员,不过成员函数却是每个对象共享的.那么调用共享的成员函数如何找到自己的数据成员呢?答案是通过类中隐藏的this指针. 2 ...

  2. Java Web Services面试

    Q. 应用集成方式有哪些? A. 应用可以采用以下方式集成: 1. 共享数据库 2. 批量文件传输 3. 远程过程调用(RPC) 4. 通过消息中间件来交换异步信息(MOM) Q. 应用集成可以采用的 ...

  3. Java-内存模型 final 和 volatile 的内存语义

    前提:内存屏障 内存屏障(Memory Barrier)与内存栅栏(Memory Fence)是同一个概念. 用于阻止指令重排序.保证了特定操作的执行顺序和某些变量的内存可见性. JMM 内存屏障分为 ...

  4. koa 基础(二十五)数据库 与 art-template 模板 联动 --- 新增数据

    1.视图层 根目录/views/index.html <!DOCTYPE html> <html lang="en"> <head> <m ...

  5. 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介

    笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...

  6. (转)java8实现对象列表去重

    java8实现列表去重,java8的stream和lambda的使用实例 通过普通的方式也可以达到去重的效果,但是借助java8新特性可以很方便的实现列表去重,测试demo如下 实体类: public ...

  7. form modelform formset modelformset的各种用法

    form modelform formset modelformset的各种用法   首先上结论: form适用于对单个表单的操作,并且需要对每个字段的验证规则自定义. modelform:适用于对用 ...

  8. Spring:注解(@suppresswarnings,@Valid,初始化静态配置数据,定时任务,@EnableAutoConfiguration)

    1.@suppresswarnings(" ") 2.@Valid @Valid注解用于校验,所属包为:javax.validation.Valid. ① 首先需要在实体类的相应字 ...

  9. easyui datagrid checkbox复选框取消单击选中事件、初始全选全不选等问题解决

    系统业务需要,导入的列表数据默认全部选中,且不可取消选中行.全部店铺优惠券发放过后导入的数据全部清空.如图所示: 一.初始化页面默认全部选中“selectAll”,全部不选中“unselectAll” ...

  10. Appium,AirTest切换使用时,appium罢工之坑(1)

    由于一些元素不能定位,所以最近项目引用了Airtest 问题场景: case的开始使用appium,case执行过程中,切换到airtest操作元素,待执行完airtest相关步骤之后,后续使用app ...