上集回顾:
- 集合定义
- 集合运算
列表和元组想要查找某个值必须使用数字下标,有点像古老的结绳记事,时间久了事情多了,可能就不知道某个结点对应的什么事情了。有没有一种数据结构能够使用字符串当索引,这样通过索引名称就能知道该索引记录的内容了。就像记录一个人的数据一样,身高、年龄、体重、性别、电话和地址等等,如果用整数下标1、2、3这样去索引,可能不久就忘记哪个对应哪个了。但是如果age,height等字段去记录对应的值就会清晰明确。必须安排,那就是字典(dict)。
一、字典定义
与以连续整数为索引的序列不同,字典以关键字
为索引,关键字通常是字符串或数字,也可以是其他任意不可变类型。可以把字典理解为键值对
的集合,但字典的键必须是唯一的。花括号 {} 用于创建空字典。另一种初始化字典的方式是,在花括号里输入逗号分隔的键值对,这也是字典的输出方式。字典的主要用途是通过关键字存储、提取值。用 del 可以删除键值对。用已存在的关键字存储值,与该关键字关联的旧值会被取代。通过不存在的键提取值,则会报错。
>>> student = {'name': 'Jack', 'age': 12, 'gender': 'male', 'phone': '123456'}
>>> student
{'name': 'Jack', 'age': 12, 'gender': 'male', 'phone': '123456'}
>>> student['name']
'Jack'
>>> student['age']
12
>>> del student['phone']
>>> student
{'name': 'Jack', 'age': 12, 'gender': 'male'}
二、字典构造
字典可用多种方式来创建,作为演示,以下示例返回的字典均等于 {"one": 1, "two": 2, "three": 3}:
>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})
>>> f = dict({'one': 1, 'three': 3}, two=2)
>>> a == b == c == d == e == f
True
三、常用操作
- list(d)
返回字典 d 中使用的所有键的列表。可以通过键的列表遍历所有字典内容。
>>> student = {'name': 'Jack', 'age': 12, 'gender': 'male'}
>>> list(student)
['name', 'age', 'gender']
>>> for key in list(student) :
... print(key, ':', student[key])
...
name : Jack
age : 12
gender : male
-
len(d)
返回字典 d 中的项数。 -
clear()
移除字典中的所有元素。 -
key in d
如果 d 中存在键 key 则返回 True,否则返回 False。 -
key not in d
等价于 not key in d。 -
get(key[, default])
如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出则默认为None
,因而此方法绝不会引发KeyError
。
>>> student['test']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'test'
>>> student.get('test')
>>> student.get('test', 'testValue')
'testValue'
本集总结:
- 字典定义
- 字典构造
- 字典常用操作
下集见
网友评论