- images
- results
- .gitignore
- 1.1概论.ipynb
- 1.2 环境配置.pdf
- 1.3数据类型.ipynb
- 1.4 人机交互.ipynb
- 1.5 对象与变量.ipynb
- 1.6 编码与命名规范.ipynb
- 2.1 数值类型.ipynb
- 2.2 数值类型转换.ipynb
- 2.3 数值元算.ipynb
- 2.4常用数学运算函数.ipynb
- 2.5 math 模块及其应用.ipynb
- 2.6.1 逻辑值测试.ipynb
- 2.6.2 成员运算.ipynb
- 2.6.3 比较运算.ipynb
- 2.6.4 布尔运算.ipynb
- 2.6.5 运算优先级.ipynb
- 2.ipynb
- 3.1 流程控制结构.ipynb
- 3.3.1 for 循环语句.ipynb
- 3.3.3 rang.ipynb
- 3.3.3 while 循环语句.ipynb
- 3.4 and 3.5 分支结构和条件.ipynb
- 3.6 and 3.7 .ipynb
- 3.9 异常处理.ipynb
- 4 函数和模块化编程.ipynb
- 4.1 函数的定义、调用与返回值.ipynb
- 4.2 函数的参数传递.ipynb
- 4.3 变量的作用域.ipynb
- 4.4 匿名函数.ipynb
- 4.5 递归.ipynb
- 4.6 内置函数.ipynb
- 4.7 模块化程序设计.ipynb
- 5.1 序列通用操作.ipynb
- 5.1.1 索引.ipynb
- 5.1.2 切片.ipynb
- 5.1.3 序列拼接与重复.ipynb
- 5.1.4 成员测试.ipynb
- 5.2.1 字符串的创建.ipynb
- 5.2.2 字符串常量.ipynb
- 5.2.4 字符串的遍历.ipynb
- 5.2.5 文件遍历.ipynb
- 5.2.6 字符串的处理方法.ipynb
- 5.2.7 字符串格式化.ipynb
- 5.2.8 转义字符.ipynb
- 5.3 random 模块及其应用.ipynb
- 6.1 元组.ipynb
- 6.2 列表.ipynb
- 6.2.1 列表的创建.ipynb
- 6.2.2 列表的更新.ipynb
- 6.2.3 列表的删除.ipynb
- 6.2.4 列表的排序.ipynb
- 6.2.5 列表赋值与复制.ipynb
- 6.2.6 列表推导式.ipynb
- 6.2.8 常用内置函数.ipynb
- 6.2.9 列表嵌套及其排序.ipynb
- 6.3 列表综合应用.ipynb
- 7.1.1 集合的创建.ipynb
- 7.1.2可变集合类型的操作.ipynb
- 7.1.3 成员关系.ipynb
- 7.1.4 集合关系.ipynb
- 7.1.5 集合运算.ipynb
- 7.2.1 字典创建.ipynb
- 7.2.2 获取字典值.ipynb
- 7.2.3 修改字典值.ipynb
- 7.2.4内置函数与方法.ipynb
- 7.2.5字典排序输出.ipynb
- 7.3 集合与字典的应用.ipynb
- 8 中 numpy 概述.ipynb
- 8 中panda 库.ipynb
- 8.1 文件的打开与关闭.ipynb
- 8.2 文件读写操作.ipynb
- 8.3 文件的应用.ipynb
- 8.4 numpy 文件操作.ipynb
- 8.4.2 and 3.ipynb
- 8.5.1 pandas文件读写.ipynb
- 8.5.2 and 3 and 4.ipynb
- 9.1 matplotlib 线性图.ipynb
- 9.1.5 数据文化绘图.ipynb
- 9.2 非线性图.ipynb
- 9.3 词云.ipynb
- _overview.md
- _readme.ipynb
- coding_here.ipynb
- dream.png
- score.txt
- score_total.csv
- 成绩分析综合.json
7.1.2可变集合类型的操作.ipynb @master — view markup · raw · history · blame
7.2 可变集合类型的操作¶
可变集合提供了一些关于元素更新、删除等相关操作的方法,常用操作及其方法描述如下表所示。
| 方法 | 描述 |
|---|---|
| s.add(x) | 在集合 s 中添加对象 x。 |
| s.remove(x) | 从集合 s 中删除对象 x;如果 x 不是集合 s 中的元素(x not in s),将引发**KeyError 错误** 。 |
| s.discard(x) | 如果 x 是集合 s 中的元素,从集合 s 中删除对象 x,如果s中不存在x也不会报错。 |
| s.pop() | 无参数,从集合中移除并返回任意一个元素, 如果集合为空则会引发 KeyError。 |
| s.clear() | 删除集合 s 中的所有元素。 |
7.2.1 添加元素¶
**s.add(x)**¶
向集合 s 中添加一个元素 x 的方法只有一个s.add(x)。
In [1]:
s = set('python')
s.add('c++') # 字符串'1000'整体作为一个元素添加到集合中
print(s)

7.2.2 删除元素¶
1. **s.remove(x)**¶
从集合 s 中删除一个指定元素 x,当要删除的元素 x 在集合 s 中不存在时,s.remove(x) **会触发KeyError异常**。
In [3]:
s = set('python')
s.remove('p')
print(s)

In [4]:
s = set('python')
s.remove('A') # 集合s中不存在元素'A',将抛KeyError异常。
print(s)
删除集合元素的remove方法在元素不存在时会引发KeyError错误,所以上面的代码中我们先通过成员运算判断元素是否在集合中。
使用s.remove(x) 删除元素时,建议**先做存在性测试**,以避免触发异常导致程序无法正常结束。
In [5]:
s = set('python')
if 'A' in s:
s.remove('A') # 若集合中存在元素A,删除'A',避免异常
print(s)
2. **s.discard(x)**¶
功能与s.remove(x)类似,也是从集合 s 中删除一个指定元素 x。
但当要删除的元素 x 在集合 s 中不存在时,s.discard(x)**不会触发异常**。
In [6]:
s = set('python')
s.discard('p')
print(s)
s.discard('A') # 集合s中不存在元素'A',但不会抛异常,集合s没有任何变化
print(s)
3. **s.pop()**¶
pop方法可以从集合 s 中随机删除一个元素,该方法在删除元素的同时会获得被删除的元素,其**返回值**是被删除的元素。
In [7]:
s = set('python')
x = s.pop() # 从s中随机删除一个元素,返回被删除的元素赋值给x
print(x)
print(s)

使用s.pop()方法时,如果**集合为空**则会触发**KeyError**。
In [ ]:
s = set() # s是空集合
s.pop()
4. **s.clear()**¶
s.clear()方法可用于删除集合的所有元素,清空集合,只**保留空集合对象**。
In [18]:
city = {'北京', '上海', '广州', '深圳'}
city.clear()
print(city)

5. **del 命令**¶
del 命令可用于**删除集合对象**。
与s.clear()的区别在于,del命令执行后,集合对象也会被删除,后续如果再调用该对象,将会抛NameError异常。
In [19]:
city = {'北京', '上海', '广州', '深圳'}
del city # 集合对象city被删除
print(city) # city对象已不存在,将抛NameError异常
In [ ]: