字典

字典 -- dict

  • Python的数据结构之一
  • 字典是可变数据类型,无序的

定义

  • dic = {'key':'Value'}

    • 键值对

字典的作用

  • 存储数据,大大量的,将数据和数据起到关联作用
  • dic={'10':'苹果',11:'小米',Ture:'华为',(1,):'oppo'}
    • 所用的操作都是通过键
  • 键:必须是不可变的数据类型(可哈希),且唯一
    • 已知的不可变(可哈希)的数据类型: int, str, tuple, bool
    • 可变(不可哈希)的数据类型: list, dict, set
  • 值:任意
  • dic.get()

字典的增

暴力添加
  • dic['键']='值'

    • 字典的添加,添加的是一个键值对,有则覆盖,无则添加
    • dic['键']=['值1','值2','值3','值4']
有则不修改,无则添加
  • dic.setdefault('键':['值1','值2','值3'])

    • 先查看键是否在字典
    • 如果不存在则添加

字典的删除

  • dic.pop(键)

    • 删除字典中的键进行删除,返回的也是被删除的键
  • dic.clear()
    • 清空
  • del dic
    • 删除整个字典
  • del dic[键]
    • 通过键删除
  • 字典中没有remove ()

字典的改

  • dic[键]=值

    • 有则覆盖,无则添加
  • dic.update({键:值,键:值})
    • dic.update(字典)

字典的查

  • dic.get(键)

  • dic.setdefault(键)

    • 没有值时是查询
    • 查询不到返回None
  • dic[键]

    • 查询不到报错
  • for i in dic:
    print(i)
  • for i in dic:
    print(dic.get(键))
    • 查询不到返回None
  • for i in dic:
    print(dic.get(键,键))
    • dic.get(键 , 制定的查询不到就返回的值)
  • 查找不到返回自己制定的内容

  • dic.kyes() #所有的键

    • 获取到的是一个高仿的列表
  • dic.values() # 所有的值

    • 获取到的是一个高仿的列表

      • 高仿列表支持迭代不支持索引
  • dic.items()

    • 键值呈现元组
解构
  • a=10
    b=20
    a,b=b,a
  • a,b=10,20
    print(a)
    print(b)
  • a,b=(10,20)
    print(a)
    print(b)
  • a,b=[10,20]
    print(a)
    print(b)
  • a,b='wc'
    print(a)
    print(b)
  • dic={'key1':2,'key2':4}
    a,b=dic
    print(a)
    print(b)
    输出:key1
    key2
  • for a,b in 字典名.items():
    a:键
    b:值
解构作用
  • lst=[1,2,3,4,5,6,7,8]
    a,b,c,d,e,*f=lst #一一对应赋值,必须多一个(*变量名)用来存储剩下的数据
    print(a)
    print(b)
    print(e)

字典的嵌套

  • dic={
    101:{1:{'日莫':{'对象'}},
    2:{'老王':{'王炸'}},
    3:{'乔碧螺':['日莫','炮手','宝元']},
    },
    102:{1:{'汪峰':{'国际章':{'小苹果','大鸭梨'}}},
    2:{'邓紫棋':['泡沫','信仰','天堂','光年之外']},
    3:{'腾格尔':{'隐形的翅膀','卡路里','日不落'}}
    }
    }
    • 按照键一层层进行查

Python之路Day05的更多相关文章

  1. 初学python之路-day05

    每天一总结,今天学习的是数据类型及其使用方法与可变与不可变类型. 今天了解的数据类型有整型int,浮点型float,字符串类型str,布尔型bool,列表list. 整型int与浮点型float都属于 ...

  2. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  3. Python之路

    Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Pytho ...

  4. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  5. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  6. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  7. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  8. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  9. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

随机推荐

  1. C# monitor keyboard and print pressed key

    using System; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Diagnos ...

  2. Python中关于日期的计算总结

    1.获取当前时间的两种方法: 代码如下: import datetime,timenow = time.strftime("%Y-%m-%d %H:%M:%S")print now ...

  3. JavaSE学习笔记(14)---File类和IO流(字节流和字符流)

    JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方 ...

  4. 用JavaScript设计和创建对象

    通过在优锐课的java学习分享中,get很多学习新技能,分享给大家参考学习. 介绍 在阅读此分步指南之前,你可能需要关注面向对象编程的介绍. 以下步骤中包含的Java代码与该文章理论中使用的Book对 ...

  5. ES6 DEMO

    案例: ①匿名封装 (function(window,document){ const HEAD = 1; let MSG = function(options){ this._init(option ...

  6. 在eclipse中JS页面创建后<%@ page此处就马上就报错

    修改路径:右键点击创建的jsp页面--->Build Path--->Configure Build Path---> Libraries--->Add Libraries-- ...

  7. ng-模板语法

    插值 文本绑定 <p>Message: {{ msg }}</p> <p [innerHTML]="msg"></p> 属性绑定 & ...

  8. Java链表常见操作【剑指Offer】03:从尾到头打印链表

    题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList. 题解一:递归 /* 在最后一次递归方法返回以后,每一层的递归方法都会做一个arrayList.add(listNode.val ...

  9. PAT (Basic Level) Practice (中文)1076 Wifi密码 (15 分)

    下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B-2:C-3:D-4:请同学们自己作答,每两日一 ...

  10. 检测到 LoaderLock Message: 正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

    解决方法: 调试状态=>异常(Ctrl+Alt+E)=>Managed Debuggin Assistants=>LoaderLock 的选中状态去掉即可.