字典:

  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. 第一章 大体知道java语法1----------能写java小算法

    很多人开始学习java时,都是抱着诸如<Thinking in java>.<疯狂java>等书籍,从前到后慢慢翻看,不管其内容重要与否,也不关心自己以后能否使用到.我的建议是 ...

  2. Hands-on ML and TF Chapter16 Reinforcement Learning

    Policy Granients import tensorflow as tf reset_graph() n_inputs = 4 n_hidden = 4 n_outputs = 1 learn ...

  3. Gitee使用方法

    原文链接:https://www.cnblogs.com/yiven/p/8465054.html 1.创建仓库: a.创建远程仓库 登入Gitee后,点击头像旁边的"+"加号-- ...

  4. JVM-GC算法(三)-分代收集算法

    对象分类 上次已经说过,分代收集算法是针对对象的不同特性,而使用合适的算法,这里面并没有实际上的新算法产生.与其说分代收集算法是第四个算法,不如说它是对前三个算法的实际应用.  首先我们来探讨一下对象 ...

  5. python3笔记十七:python文件读写

    一:学习内容 读文件 写文件 编码与解码 二:读文件--步骤分解 1.过程 第一步:打开文件第二步:读文件内容第三步:关闭文件 2.第一步:打开文件 open(path,flag[,encoding] ...

  6. js实现图片上传到服务器和回显

    关于js实现图片的上传和回显,曾经用户的代码粘在这里: 样式:这样写样式的道理是给<input>标签的父级设置一个背景图,就是‘+’那个背景图,然后把<input>的宽高设置得 ...

  7. JSP——JavaServer Page中的隐式对象(implicit object)、指令(directive)、脚本元素(scripting element)、动作(action)、EL表达式

    目录 1.JSP概述 2.注释(comment) 2.1.JSP注释 2.2.HTML注释 3.隐式对象(implicit object) 3.1.隐式对象清单 3.2.request对象 3.3.o ...

  8. spark streaming 6: BlockGenerator、RateLimiter

    BlockGenerator和RateLimiter其实很简单,但是它包含了几个很重要的属性配置的处理,所以记录一下. ))) , SECONDS) From WizNote

  9. c#阿里云短信验证码

    发送验证码 private static void SendAcs(string mobile, string templateCode, dynamic json, int ourid) { if ...

  10. 内存数据库:Redis与Memcached的区别

    Redis与Memcached的区别 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都 ...