Week 12
9.1 字典 Dictionaries
- Python中的另外一种集合数据结构
- 与列表的区别
- 列表:一个线性集合,元素保持存入的数据
- 字典:一个包,每个值有对应标签(用标签存取,不在乎顺序)
- Python中最强大的数据集合
- 列表使用存储位置索引各项,字典就像一个包,顺序并不重要,所以使用查找包的方式索引元素
- 字典用花括号包括,以
key: value
作对,{}
即空字典 - 键和值均可以为任意类型,但键必须为不可异变类型(字符串,数字或元组)
9.2 用字典计数 Counting with Dictionaries
- 可以用字典来计数每个项出现的次数
- 错误:不能引用一个不在字典中的键(未使用过的键),可以使用
in
来判断 - 思路:首先判断当前的名字是否在字典中,在则对应的整数加一,否则添加一个新项,并赋值为1
- 有点类似于直方图问题
- 上述的“查看某个键是否存在的情况”已用内建函数实现
get(key, defaultvalue)
,后者为不存在的情况下的默认值
9.3 字典和文件 Dictionaries and Files
- 虽然字典没有顺序,但是可以使用
for
循环来遍历所有的项 - 可以使用
keys
,values
,items
分别查看字典中的键,值以及两者皆有,返回结果为列表(最后一项,键值合为一个元组),需要注意,前两项结果键值顺序对应 - 使用一个变量在for循环,则是遍历字典的键
- 对应地,可以使用两个变量在for循环中作为迭代变量
for aaa, bbb in jjj.items():
print(aaa, bbb)