7 道练习题·预计 30 分钟·做对一题解锁下一段
上一节学完了 List 与 Tuple。这一节再学两种容器类型——
学完这两种,再加上前面的 list 和 tuple,Python 最常用的数据结构就齐了。
上一章节,我们学习了列表(List)和元组(tuple)来表示有序集合。
而我们在讲列表时,用 list 来存储用户的姓名:
name = ['一点水', '两点水', '三点水', '四点水', '五点水']那么如果我们为了方便联系这些童鞋,要把电话号码也添加进去,该怎么做呢?
用 list 可以这样子解决:
name = [['一点水', '131456780001'], ['两点水', '131456780002'], ...]但是这样很不方便。如果用列表来存储这些,列表越长,我们查找起来耗时就越长。
这时候就可以用 dict(字典)来表示了。Python 内置了字典(dict),全称 dictionary,使用键-值(key-value) 存储,具有极快的查找速度(如果学过 Java,dict 就相当于 Java 中的 Map)。
name = {'一点水': '131456780001', '两点水': '131456780002', '三点水': '131456780003'}字典是另一种可变容器,且可存储任意类型对象。
字典的每个键值(key: value)对用冒号 : 分割,每个对之间用逗号 , 分割,整个字典包括在花括号 {} 中:
d = {key1: value1, key2: value2}注意:键必须是唯一的(重复会以最后一个为准),值可以重复。键必须是不可变类型(数字、字符串、tuple 都行,list 不行)。
dict1 = {'liangdianshui': '111111', 'twowater': '222222', '两点水': '333333'}
dict2 = {'abc': 1234, 1234: 'abc'}
print(dict1)
print(dict2)请创建一个字典 phone_book,存这三对联系人:
'Alice' → '13800001111''Bob' → '13800002222''Carol' → '13800003333'然后 print(phone_book)。
输出应该是:
{'Alice': '13800001111', 'Bob': '13800002222', 'Carol': '13800003333'}