字典
字典是 Python 中唯一的内置映射类型,其中的值不按顺序排列,而是存在键下。键可能是数,字符串或元组。
- 字典的创建和使用
字典由键及其相应的值组成,这个键-值对
成为项(item)。每个键与值之间用冒号:
分隔, 项之间用逗号,
分隔。整个字典在花括号内。在字典中键必须是独一无二的。
items = [('name', 'Gumby'), ('age', 42)]
d = dict(items)
d
>> {'name': 'Gumby', 'age': 42}
# 使用函数 dict 从其他映映射或键值对序列创建字典
dict(name = 'Bob', age=18)
>> {'name': 'Bob', 'age': 18}
# 使用关键字实参来调用这个函数
-
基本的字典操作
len(d)
返回字典 d 包含的项(键值对)数d[k]
返回与键k
相关联的值d[k] = v
将值v
关联到键k
del d[k]
删除键为k
的项k in d
检查字典 d 中是否包含 键为k
的项
-
键的类型:字典中的键可以是任何不可变的类型,如整数、浮点数、字符、元组。
-
自动添加:即便是字典中原本没有的键,也可以给它赋值,这将在字典中船舰一个新项。
-
将字符串格式设置功能用于字典
phonebook={'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'}
"Cecil's phone number is {Cecil}.".format_map(phonebook)
>> "Cecil's phone number is 3258."
# 通过在自动存储一系列命名的值,可让格式设置更容易些。
# 使用 format_map 来指出通过一个映射来提供所需的信息。
- 字典的方法
方法 | 说明 |
---|---|
d.clear() | 方法clear删除字典的所有项,这种操作就地执行 |
d.copy() | 返回一个新字典,其中包含的键值对与原来的字典相同(这个方法执行的是潜复制,替换副本中的值,原字典不受影响,相应的由深复制 deepcopy(d) , 从copy 模块中导入) |
{}.fromkeys(key_list) | 创建一个新字典,其中包含指点的键,且每个键对于的值都为 None |
d.get(key, 'N/A') | 访问字典中键为 key 的值,如果 key 不存在时,返回 ‘N/A’ |
d.items() | 返回一个包含字典项的列表,其中每个元素都为 (key, value) 的形式。 返回值属于一种名为字典试图的特殊类型,可用于迭代 |
d.keys() | 返回一个字典试图,其中包含字典 d 的键 |
d.pop(key) | 用于获取与指定键相关联的值,并将该键值对从字典中删除。 |
d.popitem() | 随机弹出一个字典项,可高效的逐个删除并处理所有字典项 |
d.setdefault(key, value) | 获取与指定 key 相关联的值,但如果字典 d 不包含键key,在字典中添加 key:value 项。 |
d.update(d1) | 使用一个字典中的项更新另一个字典。对于参数提供的字典,将其项添加到当前字典中,如果当前字典包含键相同的项,替换。 |
d.values() | 返回一个由字典中的值组成的字典视图。 |