相关文章推荐
温柔的汽水  ·  Android 随笔—— ...·  1 年前    · 
私奔的火车  ·  Why initializing ...·  1 年前    · 
变量类型和运算符
4 列表、元组、字典和集合
4.1 什么是序列,Python序列详解
4.2 Python列表(list)
4.3 Python list列表添加元素
4.4 Python list列表删除元素
4.5 Python list列表修改元素
4.6 Python list列表查找元素
4.7 结合实例,再深入剖析Python list列表!
4.8 Python range()快速初始化数字列表
4.9 Python list列表实现栈和队列
4.10 Python tuple元组详解
4.11 Python元组和列表的区别
4.12 Python列表和元组的底层实现是怎样的?
4.13 Python dict字典
4.14 Python dict字典基本操作
4.15 Python dict字典方法完全攻略
4.16 Python使用字典格式化字符串
4.17 Python set集合
4.18 Python set集合基本操作
4.19 Python set集合方法
4.20 Python frozenset集合
4.21 深入底层了解Python字典和集合,一眼看穿他们的本质!
4.22 Python深拷贝和浅拷贝详解
Python字符串常用方法 Python流程控制 函数和lambda表达式 Python类和对象 类特殊成员(属性和方法) Python异常处理机制 Python模块和包 Python文件操作(I/O) 其中,setname 表示要添加元素的集合,element 表示要添加的元素内容。
需要注意的是,使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误。例如: a = {1,2,3} a.add((1,2)) print(a) a.add([1,2]) print(a) 运行结果为: {(1, 2), 1, 2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
a.add([1,2])
TypeError: unhashable type: 'list'

从set集合中删除元素 删除现有 set 集合中的指定元素,可以使用 remove() 方法,该方法的语法格式如下: setname.remove(element)

使用此方法删除集合中元素,需要注意的是,如果被删除元素本就不包含在集合中,则此方法会抛出 KeyError 错误,例如:
a = {1,2,3} a.remove(1) print(a) a.remove(1) print(a) 运行结果为: {2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
a.remove(1)
KeyError: 1

上面程序中,由于集合中的元素 1 已被删除,因此当再次尝试使用 remove() 方法删除时,会引发 KeyError 错误。
如果我们不想在删除失败时令解释器提示 KeyError 错误,还可以使用 discard() 方法 ,此方法和 remove() 方法的用法完全相同,唯一的区别就是,当删除集合中元素失败时,此方法不会抛出任何错误。
a = {1,2,3} a.remove(1) print(a) a.discard(1) print(a) 运行结果为: {2, 3}
{2, 3}

Python set集合做交集、并集、差集运算 集合最常做的操作就是进行交集、并集、差集以及对称差集运算,首先有必要给大家普及一下各个运算的含义。 图 1 集合示意图 图 1 中,有 2 个集合,分别为 set1={1,2,3} 和 set2={3,4,5},它们既有相同的元素,也有不同的元素。以这两个集合为例,分别做不同运算的结果如表 1 所示。
表 1 Python set集合运算 Python运算符 取两集合公共的元素 >>> set1 & set2
取两集合全部的元素 >>> set1 | set2
{1,2,3,4,5} 取一个集合中另一集合没有的元素 >>> set1 - set2
{1,2}
>>> set2 - set1
{4,5} 取集合 A 和 B 中不属于 A&B 的元素 >>> set1 ^ set2
{1,2,4,5}