字典

字典 -- 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. Java Web Servlet知识点讲解(一)

    一.Web应用架构 如图所示: HTTP协议:一个简单的请求一响应协议,通常运行在TCP之上,它指定了客户端可能发送给服务器什么样的信息以及得到什么样的响应. JDBC:Java语言中用来规范客户端程 ...

  2. 《自拍教程18》adb_Android设备debug连接工具

    adb命令介绍 做Android App测试,Android手机系统测试, 还有很多Android终端产品(手表,车载,智能电视,智能手表等) 都必须用adb命令,通过USB接口,与Android设备 ...

  3. Linux学习记录(二):常用工具

    博主使用的操作系统为Ubuntu tmux 终端分屏 安装 Ubuntu使用apt-get安装 sudo apt-get install tmux 使用 默认命令键:Ctrl + B %(百分号) 左 ...

  4. mysql升级到5.7

    最近遇到一个问题,执行下列语句会报错: CREATE TABLE `t_user` ( `USER_ID` bigint() NOT NULL AUTO_INCREMENT COMMENT '用户ID ...

  5. 标准化建筑的 FRESH 原则

    前记 大家好,我是小镭. 我在钢结构领域从业十余年,虽然工作内容是关于建筑的,但如果问我什么是建筑,我却一时答不出来. 记得小时候我读过一篇文章,说建筑是凝固的音乐. 后来我看了些书,觉得建筑是空间. ...

  6. 客户端负载均衡框架:Spring Cloud Ribbon

    最近在学习Spring Cloud的知识,现将客户端负载均衡框架 Spring Cloud Ribbon 的相关知识笔记整理如下.[采用 oneNote格式排版]

  7. 基于AccessToken方式设计API

    目录 数据库设计 实现方案 应用场景:公司A有一平台需要对外提供接口给其他商户使用,考虑到安全性问题,此时可考虑采用AccessToken方案.商户在公司A平台注册一app,平台分配appId.app ...

  8. tensorflow高阶操作

    本篇内容有:如何根据坐标有目的的选择(where).如何根据坐标有目的的更新(scatter_nd).如何生成一个坐标系() 1.where where针对的tensor是一个bool类型的tenso ...

  9. javaweb实现注册页面(数据库连接以及ajax验证)

    先放效果图 可实现js实时验证        可实现ajax实时验证注册信息是否存在   页面实现要求 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求 ...

  10. 嵊州D5T2 折纸 folding

    折纸 folding [问题描述] 在非常紧张的 NOIP 考试中,有人喜欢啃指甲,有人喜欢转铅笔,有人喜欢撕 纸条,……而小 x 喜欢迷折纸. 现有一个 W * H 的矩形纸张,监考老师想知道,小 ...