Skip to content

Latest commit

 

History

History
279 lines (195 loc) · 6.71 KB

109-192414-字典_构造_dictionary_Constructor.sy.md

File metadata and controls

279 lines (195 loc) · 6.71 KB
show version enable_checker
step
1.0
true

字典类型

回忆

  • 上次总结一下集合
  • 集合可以
    • 添加 add
    • 清空 clear
    • 指定删除 remove
    • 丢弃 discard
    • 弹出 pop
  • 集合总共四种运算
    • 交集 &
    • 并集 |
    • 差集 -
    • 对称差集 ^
    • 都可以增强赋值
  • 集合之间可以判断
    • 是否有交集
    • 是否是子集
    • 是否是超集

图片描述

  • 遇到这么个问题
    • {}并不是空集
    • 而是一个dict类型的对象
    • 什么是dict呢?🤔

回忆

符号 例子 类型名 英文名 是否可变 是否有序 可否重复
小括号 (0, 1) 元组 tuple 不可变 有顺序 可重复
中括号 [0, 1] 列表 list 可变 有顺序 可重复
大括号 {0, 1} 集合 set 可变 无顺序 不可重复

图片描述

  • 但是一个空的大括号
    • 并不是空集
    • 而是一个 dict 类型的变量
  • 什么是dict类型?

帮助手册

  • dict 代表着dictionary
    • 字典

图片描述

  • 构造如下
    • dict(one=1, two=2)

试试

  • 这就像是一个字典
    • one 是一个要查的单词
    • one 是什么意思
    • one 的意思就是 1

图片描述

  • 这是一种 map 映射的关系
    • 通过 "one" 可以查到 1
    • 通过 "two" 可以查到 2
    • 通过 key 可以查到 key所对应的value
    • key 和 value 之间的映射关系

通讯录

  • 我记得住人名
    • 但我记不住电话
    • 这些人名是没有前后顺序的

图片描述

  • 我们建立一个python的通信录

图片描述

  • 联系人的信息
    • 除了电话之外
    • 可能还包括地址
  • 这个时候人名
    • 就可以映射到电话和地址元组
    • 人名:(地址,电话)

通讯录

图片描述

  • 通过"oeasy"可以查到详细信息元组
    • 元组 第0个元素 是 电话
    • 元组 第1个元素 是 地址

图片描述

  • dict 本意是dictionary字典
    • 备查的字就是 key
  • key 怎么理解?

key

  • key 就是钥匙

图片描述

  • 这钥匙干嘛用的?

开锁

  • 一把钥匙开一把锁

图片描述

  • 钥匙是和锁一一配对的
    • 得到这把钥匙就能开这把锁
  • 一个钥匙能开两把锁么?
    • 一个 key 可以对应两个不同的 value 么?
    • 试试

一一对应

  • 尝试

图片描述

  • 后面的 key-value pair(键值对)
    • 会覆盖前面相同key 的 key-value pair(键值对)
  • key 和 value 是一一对应
    • key 只能有一个

图片描述

  • 那我做个关于动物的字典吧

字典

图片描述

  • 编写字典可真是好玩的一件事情!!
  • 可以对世界给出自己的解释

魔鬼词典

图片描述

  • 在古代
    • 典可不是随便谁都能编辑的
  • 典 这个词怎么来的呢?

  • 典一般都是很有分量的
    • 经典
    • 典籍
    • 典范
    • 用典
    • 引经据典

图片描述

  • 左右两只手
    • 中间拿着册
  • 一般也是古代的判例
    • 盛典
    • 大典
    • 典狱长
    • 典当行
      • 靠的都是典

最早的中文字典

  • 公元100年
    • 许慎写出《说文解字》

图片描述

  • 英文中字典怎么理解呢?

dictionary

  • 字典这个词来自于拉丁语
    • 意思是单词和短语的集合

图片描述

  • 第一本拉丁语字典来自于1220年
    • Johannes de Garlandia
    • 加兰的约翰
    • 他来自英国
    • 后在法国教拉丁文
  • 为什么不是教英文或法文
    • 编英文字典或法文字典呢?
  • 因为拉丁文是传统语言
    • 英文法文当时是混合了很多语言的一种方言
    • 书籍很少
      • 盎格鲁-撒克逊编年史 由 英太祖 阿尔弗雷德 编写
        • 其中的《贝奥武甫》词汇和拼写方法和今天有很多不同
    • 英文字典更是完全没有
  • 世界上第一本英文词典是谁编的呢?

第一本英文词典

  • 世界上第一本词典叫做
    • the Table Alphabeticall
      • 单词表
    • 1604年

图片描述

  • 创造了一个临时解决方案
    • 面向“女士、名媛淑女以及其他技能不熟练人”
    • 列出了大约2,500个“较难使用的词汇”
    • 这还不到当时常用语的5%
  • 作者 Robert Cawdrey 的职业是神职人员
    • 当时普及文化的人就是任职人员
    • 因为能识字的人不多

首页

  • 前言部分字体为罗马正体

图片描述

  • 和今天的英语很像
  • 但是也有些不一样

第一个单词

  • 从A到Z按照字母表顺序排列

图片描述

  • 单词字体是罗马正体

  • 单词含义是哥特字体

  • 而且词义比较模糊

    • “饮食”(diet)一词被描述为“进食的方式”
  • 没有任何解释性的引用

    • 更不用说追溯语源了
  • 《字母表》的词汇量非常少

    • 总共37页
    • 甚至没有关于字母W的条目
  • 可以给字典添加字典项吗?

增加元素

  • 翻翻文档手册

图片描述

  • 翻遍了帮助文件
    • 也没有找到插入字典项的方法
    • 不过也别着急

图片描述

  • 我们先去总结一下

总结

  • 这次学习了字典
  • 字典是用来查的
    • 根据一个 key
    • 可以查到相应的 value

图片描述

  • 究竟什么是字典呢??🤔
  • 下次再说 👋