字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:1
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
字典的创建
字典的创建方式:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# 普通创建方式
dict0 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
print(dict0)
# 从键值对序列中创建
dict1 = ([('hello', 1), ('google', 2), ('baidu', 3)])
print(dict1)
dict2 = {x: x**2 for x in (2, 3, 4)}
print(dict2)
# 使用dict函数的键值对序列
dict3 = dict(hello=1, Google=2, baidu=3)
print(dict3)
输出如下:
{'Cecil': '3258', 'Beth': '9102', 'Alice': '2341'}
[('hello', 1), ('google', 2), ('baidu', 3)]
{2: 4, 3: 9, 4: 16}
{'hello': 1, 'Google': 2, 'baidu': 3}
字典的访问
1 | dict1 = {'name': 'Alice', 'gender': 'female', 'age': 20} |
更新字典
1 | dict1 = {'name': 'Alice', 'gender': 'female', 'age': 20} |
字典删除
1 | dict1 = {'name': 'Alice', 'gender': 'female', 'age': 20} |
字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
键值不能重复
不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:1
2
3
4
5dict1 = {'name': 'Alice', 'gender': 'female', 'age': 20, 'name': 'Mary'}
print(dict1)
输出入下:
{'age': 20, 'name': 'Mary', 'gender': 'female'}
键值必须不可变
键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
字典方法
1 | dict1 = {'name': 'Alice', 'gender': 'female', 'age': 20} |