Python 基础(七):字典与集合

Posted by Python小二 on 2019-10-08

1 字典

1.1 简介

当看到字典这个词时,有些人包括我自己在内,首先映入眼帘的便是新华字典

我清楚的记得,刚上小学时老师就让每一个学生准备一本新华字典,它的使用大家也应该都清楚,通过拼音、偏旁部首等进行查询;今天我们说的字典(dict)是 Python 的数据结构,因为都叫字典,我们不用想也知道它们是十分相似的,它们的内容都是以键-值(key-value)的方式存在的。

dict 拥有良好的查询速度,dict 中的值可以是任意 Python 对象,多次对一个 key 赋 value,后面的 value 会把前面的 value 覆盖。

1.2 使用

字典的内容在花括号 {} 内,键-值(key-value)之间用冒号 : 分隔,键值对之间用逗号 , 分隔,比如创建字典 d,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
d = {'name':'小明', 'age':'18'}

# 使用 dict 函数
# 方式一
l = [('name', '小明'), ('age', 18)]
d = dict(l)
# 方式二
d = dict(name='小明', age='18')

# 空字典
d = dict()
d = {}

字典中的值通过 key 进行访问,如下所示:

1
2
3
4
5
6
7
>>> d = dict(name='小明', age='18')
>>> d['name']
'小明'

# 使用 get 方法
>>> d.get('name')
'小明'

修改操作,以修改 age 为例,如下所示:

1
2
3
4
>>> d = dict(name='小明', age='18')
>>> d['age'] = '20'
>>> d['age']
'20'

清空集合,如下所示:

1
2
3
4
>>> d = dict(name='小明', age='18')
>>> d.clear()
>>> d
{}

获取字典的长度,如下所示:

1
2
3
>>> d = dict(name='小明', age='18')
>>> len(d)
2

2 集合

2.1 简介

集合(set)与字典相同均存储 key,但也只存储 key,因 key 不可重复,所以 set 的中的值不可重复,也是无序的。

2.2 使用

集合使用花括号 {} 或者 set() 函数创建,如果创建空集合只能使用 set() 函数,以创建集合 s 为例,如下所示:

1
2
3
4
5
6
7
s = {'a', 'b', 'c'}

# 使用 set 函数
s = set(['a', 'b', 'c'])

# 空集合
s = set()

集合中重复的元素会被自动过滤掉,如下所示:

1
2
3
>>> s = {'a', 'a', 'b', 'c', 'c'}
>>> s
{'a', 'c', 'b'}

添加元素可以使用 addupdate 方法,如果元素已经存在,则不进行操作,如下所示:

1
2
3
4
5
6
7
8
9
10
11
>>> s = {'a', 'b', 'c'}
>>> s.add('d')
>>> s
{'a', 'd', 'c', 'b'}
>>> s.update('e')
>>> s
{'a', 'b', 'e', 'd', 'c'}
# 添加已经存在的元素 a
>>> s.add('a')
>>> s
{'a', 'b', 'e', 'd', 'c'}

删除元素使用 remove 方法,如下所示:

1
2
3
4
>>> s = {'a', 'b', 'c'}
>>> s.remove('c')
>>> s
{'a', 'b'}

清空集合使用 clear 方法,如下所示:

1
2
3
4
>>> s = {'a', 'b', 'c'}
>>> s.clear()
>>> s
set()

获取集合的长度,同样使用 len 方法,如下所示:

1
2
3
>>> s = {'a', 'b', 'c'}
>>> len(s)
3

欢迎微信搜索 Python小二,第一时间阅读、获取源码,回复关键字 1024 可以免费领取个人整理的各类编程语言学习资料。