Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0134
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在:
个人网站: `https://oeasy.org`
蓝桥云课: `https://www.lanqiao.cn/courses/3584`
GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 上次学习了字典
- 字典可以更新
- update
- {**d1,**d2}
- 可以试着来
- 试着设置字典项
- setdefault
- 试着获取字典项
- get
- 试着设置字典项
- 字典还可以直接赋值
- 字典可以更新
- 字典
- 本质上是键值对的集合
- 可以把 字典
遍历一遍吗?🤔
help(dict)
- 去游乐场问问
- 还是从例子开始
d = dict(one = 1, two = 2, three = 3)
d
len(d)
- 用 len 看看
- 有3条字典项
- 哪3条呢?
- 依次按下
- d
- .
- tab
- 字典 有个keys方法
- 可以查看
- keys返回的
- 好像是 列表
- 列表里的 东西 都可以查
- 帮助怎么说呢?
help(dict.keys)
- 帮助说 keys 是 set-like的
- 类似于集合
- 无序性
- 元素唯一性
- 类似于集合
- 转化为集合
- 可以根据key遍历字典吗?
for key in d.keys():
print(key)
- 列出keys
- 可以直接找所有value吗?
- 依次按下
- d
- .
- tab
- 好像有个values方法
- 去试试!
- 先查帮助
- 动手
for value in d.values():
print(value)
- values方法
- 确实可以将value全部遍历出来
- 但是 不能通过value 反查key😭
- value可以相同吗?
d = dict(oeasy = 123, o2z = 123)
d- value 是可以相同的
- key 可以相同吗?
- 构造函数中
- 如果key相同的话
d = dict(oeasy = 123, oeasy = 456)- 报错
- 直接赋值中
- 如果key相同的话
d = {
"oeasy": 123,
"oeasy": 456
}- 后面的 会把前面的覆盖
- 总之 key必须唯一
- key嘛
- 关键的东西 唯一
- 决定 key-value pair
- 主要 看key
- keys()返回的是
- set-like类型
d = dict(one = 1, two = 2, three = 3)
d
d.keys()
set(d.keys())
- set元素唯一性
- 字典中key 必须是 唯一的
- values 为啥能重复?
- value 重复的前提
- 前提是 key不相同
- 关键还是 key!!!
d = dict(oeasy = 123, o2z = 123)- 实际上 是 可以的
- 甚至有 专门的方法
names = ("oeasy", "o2z")
tels = 123
d = dict.fromkeys(names, tels)
d- 函数dict.fromkeys()
- 可以构造一个字典
- 如何理解fromkeys呢?
help(dict.fromkeys)
- 对于可迭代的对象names
- 每个成员 都当作key
- 然后设置value
- value 均为 123
- 可以用value查key吗?
- 如果给value
- 想要 查到key
d
for key in d.keys():
if d[key] == 123:
print(key)
d["oeasy"]- 需要把所有的字典项
- 遍历一遍才能找到字典项
-
而且找到的key
- 可能还不止一个
-
因为key是unique的
- 但是value不是
-
把keys都列出来
- 通过key就可以找到
- 相应的value吗?
- 根据这个 key
- 查value
- 很自然
- 或者说 从 key(键)
- map(映射)到
- 这个 值(value) 上
- 根据key找value
for key in d.keys():
print(key, d[key], sep=":")
- 确实可以
- 找到 单词对应的含义
- 这就是字典的意义
- 可以一把
- 把key和value
都查出来吗?
- 把key和value
- 依次按下
- d
- .
- tab
- 找到 items
- items()返回的是一个容器
d = {"one": 1, "two": 2}
for key, value in d.items():
print(key, ":", value)
- 容器中存的是
- key和value的pair 的 序列
- 去遍历 一个真实的 字典
import sys
for key, value in sys.modules.items():
print(key, ":", value, ",")
- 观察系统模块
- 这样我们就可以得到python中的各种默认模块
- 可以根据包(module)名来的得到包的相关信息
- 有的是内置的(built-in)
- 也有的是对应一个python文件
- 数据类型 是 python的基础
- int、str 是 最基本的 基础数据类型
- list、tuple、dict 是最基本的容器类型
d = {"one": 1, "two": 2}
d.keys()
list(d.keys())
d.values()
list(d.values())
d.items()
list(d.values())
- 本质上来说
- keys 是key的集合
- values 是value的列表
- items 是key-value pair的集合
- 名值对 的 集合
- 现代
- 对词语有了新的解释
- 有了魔鬼辞典
- 一个辞典 就是一套世界观
| 中文 | 英文 | 含义 |
|---|---|---|
| 先生 | husband | 吃完饭后负责洗碗却老是显得不甘愿的人 |
| 新娘 | bride | 一个把美好前程抛诸脑后的人 |
| 亲戚 | relations | 这样的一些人:你把他们召唤来,或者他们把你召唤去,这得看他们是比你富足还是比你穷而定 |
| 朋友 | friend | 在落魄时随之消逝的一个名词 |
| 熟人 | acquaintance | 就是这么一类人,我们和他们熟到可以向他们借钱,但没有熟悉到可以借钱给他们 |
| 乞丐 | beggar | 一种依赖朋友们接济度日的人 |
| 律师 | lawyer | 一个对法律圈套极为娴熟的人 |
| 失业 | leisure | 空闲,混乱生活中的一段清静 |
| 懒惰 | laziness | 下等人无权享用的一种悠闲 |
| 道歉 | apologize | 为将来的再次冒犯打下伏笔 |
| 可恶的 | abominable | 别人意见的实质 |
| 习惯 | habit | 为自由而设的镣铐 |
| 忍耐 | longanimity | 在报复可行之前,对欺辱照单全收 |
| 勇敢 | daring | 男人处在安全中时表现得最显著的品德之一 |
| 年 | year | 包含了三百六十五次失望的时间段落 |
| 订婚 | affianced | 为获得一个母夜叉而戴上脚镯 |
| 刺猬 | hedgehog | 动物里面的仙人球 |
| 自由 | liberty | 人类所想象出来的最珍贵的资产之一 |
- 众人编辑的百科
- 成为 互联网时代的 词典
- 掌握词汇定义 其实就是 掌握叙事
| 维度 | 传统百科(维基/百度/搜狗) | AI百科(Grokipedia/Baidu Wiki) |
|---|---|---|
| 内容生产 | 人类志愿者协作编辑 | AI自动生成+人类审核/建议 |
| 更新速度 | 小时/天级,依赖人工 | 分钟/实时级,自动抓取最新信息 |
| 规模扩张 | 慢,数十年积累 | 极快,数月达数百万条 |
| 中立性 | 受编辑立场影响 | 宣称AI中立、偏见过滤 |
| 交互方式 | 静态阅读 | 可对话AI、Ask AI、动态解释 |
| 成本 | 人力成本高 | 算力成本为主,边际成本低 |
- 这次学习了字典
- 字典是用来查的
- 根据一个 key
- 可以查到相应的 value
- 字典项就是 key-value 键值对
- 字典是用来查的
- 字典的本质 就是 键值对的 集合
- set of key-value pair
- 字典可以有什么应用场景吗?🤔
- 下次再说 👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。




























