首页 文章 精选 留言 我的

精选列表

搜索[Python],共10000篇文章
优秀的个人博客,低调大师

oeasy Python 130 字典_构造_dictionary_Constructor

# 字典_构造_dictionary_Constructor ## 回忆 - 集合操作 |英文单词|中文释义| | --- | --- | |add|添加| |clear|清空| |remove|指定删除| |discard|丢弃(删除)| |pop|弹出| - 集合运算 |运算类型|基础运算符|增强赋值运算符|对应方法名| | --- | --- | --- | --- | |交集|&|&=|intersection| |并集|\||\| |差集|-|-=|difference| |对称差集|^|^=|symmetric_difference| - 集合之间可以判断 |运算类型|英文描述|运算符| | --- | --- | --- | |是否有交集|isdisjoint|无| |是否是子集|issubset|=| ![图片描述](https://developer.qcloudimg.com/http-save/7606088/f99a1b820756d558961671aff3ee6940.png) - 遇到这么个问题 - {}并不是空集 - 而是一个dict ### 回忆 |符号|例子|类型名|英文名|是否可变|是否有序|可否重复| | --- | --- | --- | --- | --- | --- | --- | |小括号|(0, 1)|元组|tuple|不可变|有顺序|可重复| |中括号|[0, 1]|列表|list|可变|有顺序|可重复| |大括号|{0, 1}|集合|set|可变|无顺序|不可重复| ![图片描述](https://developer.qcloudimg.com/http-save/7606088/13640a152bb3abb2253f8e09c204c6e3.png) - 一对 空的 大括号 - 并不是 空集 - 而是一个 `dict` - `dict` 是 什么 类型 ? ### 音高与时值 - dict 代表着 - dictionary - 字典 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/5b8c5dd1963fe30ee4e79dd0bf038d02.png) - 音高字典 - 根据123 - 找到 具体的音高 ``` # 音符对应字典,按简谱 1 - 7 对应 F 调下的音符(1=F 时的对应) NOTE_MAP = { '1': 65, '2': 67, '3': 69, '4': 70, '5': 72, '6': 74, '7': 76 } ``` - 力度字典 - 根据 强弱次强弱 找到 - 具体的力度 ``` # 定义强弱规律(四四拍:强=90,弱=50,次强=70,最弱=40) BEAT_VELOCITY = { 1: 90, # 第一拍(强) 2: 50, # 第二拍(弱) 3: 70, # 第三拍(次强) 4: 50 # 第四拍(弱) } ``` ### 帮助手册 - 对着dict喊救命 ``` help(dict) ``` - 缺省构造函数 生成一个空字典 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/3dd8a43b004680b4535e8f91a0d8e999.jpg) - 构造方法 - 构造的是 映射关系(mapping) - 需要 key和value的pair ``` dict(one=1, two=2) ``` - 这里 给了 2个 key-value 的 pair - one=1 - two=2 - 等号 前面的 是 key - 等号 后面的 是 value ### 试试 - 把这个字典 赋给d ``` d = dict(one=1, two=2) ``` - 通过 key 查到 - key所 对应的value - 通过 "one" 可以查到 1 - 通过 "two" 可以查到 2 ``` d["one"] d["two"] ``` - one 是 要查的key ![图片描述](https://developer.qcloudimg.com/http-save/7606088/cb7f9968ceaa5e78f4aabeef2d41d354.png) - 查one - 查得的value 是 1 - one 和 1 之间 - 有 mapping(映射)关系 ### 通讯录 - 我记得住 人名 - 但我 记不住 电话 - 查人名 得到 电话 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/d854fc7cbb0aff425420ae0c8558ba85.png) - 建个 通信录 ### 通信录 - dict方法 给字典变量赋初值 ``` contacts = dict(oeasy="123", o2z="456") contacts ``` - 使用字典构造函数 完成赋值 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/cea78b99d1d9d1b72388a669b44b15f2.png) - 得到字典后 - 可以查 ``` contacts["oeasy"] contacts["o2z"] ``` - 这是用 构造函数 造的字典 - 可以 不用构造函数 - 直接生成 字典吗? ### 直接赋初值 - 就像之前的 - 音高字典 一样 ``` # 音符对应字典,按简谱 1 - 7 对应 F 调下的音符(1=F 时的对应) NOTE_MAP = { '1': 65, '2': 67, '3': 69, '4': 70, '5': 72, '6': 74, '7': 76 } ``` - 直接 把字典 直接赋过去 ``` contacts = {"oeasy":123, "o2z":456} contacts ``` - 效果一样 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/764144ba7f076c8ad86fcddea18749d7.png) - 元组、列表、字符串 - 好像也可以 `索引` - 有什么`区别`呢? ### 回忆列表 - 列表 用 数字 索引 ``` lst = list("oeasy") lst lst[0] lst[4] ``` - 列表 是 有序的序列 - 根据 序号数字 进行索引 - 通过 序号数字 返回 列表项 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/bcd9fd78e208605540d6cd5181bdc464.png) - 超出范围 - 报IndexError - 索引错误 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/a67186d3edabd5ab58fec36dc41ee226.png) - 那字典 怎么`索引` 的呢? ### 查询字典 - 列表 用 数字序号 索引 - 字典 用 key 索引 ``` contacts = {"oeasy":123, "o2z":456} contacts["oeasy"] contacts["o2z"] ``` - 根据 key - 查到key 对应的value - 运算符 还是 - 索引运算符[] ![图片描述](https://developer.qcloudimg.com/http-save/7606088/309db6b7ed4bb3b42444d96b3b381c6e.png) - 字典 会报 索引错误 吗? ### 索引不存在的值 - o3z 不是 字典的key ``` contacts["o3z"] ``` - 键(key) o3z - 索引 不到东西 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/e8c43dac73ba3109113f2baa65389adc.png) - 不存在 o3z 这个key - 没法索引 - 报KeyError - 键错误 - key 怎么理解? ### key - key 就是钥匙 - 很重要!!! ![图片描述](https://developer.qcloudimg.com/http-save/7606088/c8f8ef4e6ce3c5d83a62e9525def9ba6.png) - 这钥匙 干嘛 用的? ### 开锁 - 钥匙开锁 - 按一下 触发一个功能 就叫key 1. 开门的 钥匙 1. 钢琴的 琴键 1. 电脑键盘的 按键 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/6dd389c76e3960ee9015011f11c25905.png) - 钥匙是和锁 配对的 - 有钥匙 才能开锁 - 开了锁 就可以找到value - 联系人的信息 - 除了 `电话` 之外 - 可能 还包括 `地址` ### 通讯录 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/5d5d938647bed46dc4c7542664510683.png) - 人名 映射到 电话和地址元组 - 人名:(地址,电话) ``` d = {"oeasy": (123, "bj"), "o2z": (456, "sh")} ``` - 通过"oeasy"可以 - 映射到 详细信息元组 - 元组 第0个元素 是 电话 - 元组 第1个元素 是 地址 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/0d38dda923f131c9a893010eeb0aa9a2.png) - 1个key - 能找到 2个value 吗? ### 尝试 ``` d = {"y": "yes", "y":"yeah!"} ``` - 一个 key 可以对应 - 两个`不同的` value 么? - 试试 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/cb8a71337f20961cbc89135e4193677b.png) - key 只能有一个 - 后面的 会更新(update) 前面的 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/44f74fe6cbad4ed52c65fde7103b2792.png) - 那我做个 `动物`的字典吧 ### 字典 ``` d = { "cat": "girl-like animal", "dog": "boy-like animal", "rat": "small animal", "elephant": "big animal" } ``` - 编字典 - 给世界 下定义 - 真好玩!! ![图片描述](https://developer.qcloudimg.com/http-save/7606088/b619c0e8a40d3dc4a6091402e7ee6ff8.png) - 在古代 - 典 不是 随便谁都能编的 - 典 这个词怎么来的呢? ### 典 - 典一般都是很有分量的 - 经典 - 典籍 - 典范 - 用典 - 引经据典 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/c182f4fcd64bee7e4668f850d7494808.png) - 左右 两只手 - 中间 拿着册 - 册 是 古代的判例、案例 - 盛典 - 大典 - 典狱长 - 典当行 - 都得 靠典 ### 最早的中文字典 - 公元100年 - 许慎写出《说文解字》 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/fe0eed10c4d966946deb87d9e9b6aa39.png) - 英文中 dictionary 怎么来的呢? ### dictionary - 字典这个词来自于拉丁语 - 意思是 单词和短语的 集合 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/381f2a17ce23f7a8b95ed29ef5cf2f77.png) - 1220年 - Johannes de Garlandia - 加兰的约翰 - 他来自英国 - 后在法国教拉丁文 - 编写 第一本 拉丁语字典 - 为什么 不编 英文字典 呢? ### 拉丁语 - 英文 算是 - 混合了 日耳曼语、诺尔斯语、拉丁语 的 - 一种 口语方言 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/422f743837b6bf3947d99bc8f6acb82f.png) - 拉丁文 - 是 传统书写语言 - 来自 神圣的教廷总部 - 有 罗马帝国 战斗力的 背书 ### 盎撒征服 - 盎格鲁-撒克逊 编年史 - 由 英太祖 阿尔弗雷德 - 把 盎撒口语 落实到了 纸面 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/d30f172c228dca50b13d29c9f66c7183.png) - 大不列颠岛 从此 - 成为了 盎格鲁人的岛(England) - 盎格鲁撒克逊 形成 民族认同 - 此时 还没有 英文字典 - 世界上 `第一本`英文词典 啥时候编的呢? ### 第一本英文词典 - 1604年 - 作者 Robert Cawdrey - 是 神职人员 - 普及宗教文化 - 因为 能识字的人 不多 - 世界上 第一本 英文词典 - the Table Alphabeticall - 单词表 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/a5995cf1320d32a7c896c8a92f92bc8e.jpg) - 面向“女士、名媛淑女 以及其他技能不熟练人” - 创造了一个临时解决方案 - 列出了 大约2,500个 “较难使用的词汇” - 词汇量 还不到 当时常用语的 5% - 神学 就是 当时最高 人文科技 ### 首页 - 前言部分 字体 为 罗马正体 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/994c49c4d90e0ed7ab74bf4d70fdb138.jpg) - 和 今天的英语 很像 - 但是 也有些 不一样 ### 第一个单词 - 从A到Z - 按照字母表顺序 排列 - 单词字体 是 罗马正体 - 显着 正式 - 单词含义 是 哥特字体 - 向 古腾堡的不屈 致敬 ![图片描述](https://developer.qcloudimg.com/http-save/7606088/63fc96e09353de67eb0073001edc1c11.jpg) - 词义 模糊 - 饮食(diet)一词 - 被描述为 进食的方式 - 没有 任何解释性的 例句 - 更不用说 追溯词源 了 - 《字母表》的词汇量 非常少 - 总共37页 - 字母W 没有任何单词 ### 新单词总结 |英文术语|中文翻译| | --- | --- | |dictionary|字典| |key|键| |value|值| |item|项| |mapping|映射| ### 总结 - 这次 接触了 字典 - 字典是用来查的 - 根据一个 key - 可以查到相应的 value ![图片描述](https://developer.qcloudimg.com/http-save/7606088/a1809a3904a7e3618791bf913ef60bdd.webp) - dictionary 这个词 - 怎么来的呢??🤔 - 下次再说 👋

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册