第二章python序列-集合
集合
1.创建集合
(1)直接将一个集合对象赋给变量
>>> a={3,5}
>>> a
{3, 5}
(2)用set()
>>> a=set(range(8,14))
>>> a
{8, 9, 10, 11, 12, 13}
>>> b=set([0,1,2,3,0,1,2,3,7,8])
>>> b
{0, 1, 2, 3, 7, 8}
>>> x=set() #空集合
2.访问集合元素
(1)in 或 not in
>>> a
{8, 9, 10, 11, 12, 13}
>>> 11 in a
True
>>> 0 in a
False
>>> 13 not in a
False
>>> 17 not in a
True
(2)使用for语句
>>> a
{8, 9, 10, 11, 12, 13}
>>> for data in a:print(data)8
9
10
11
12
13
3.添加、删除集合元素
(1)集合对象的add()方法:添加一个元素
>>> a
{8, 9, 10, 11, 12, 13}
>>> a.add(2)
>>> a
{2, 8, 9, 10, 11, 12, 13}
(2)集合对象的update()方法:添加多个元素
>>> a
{2, 8, 9, 10, 11, 12, 13}
>>> b={0,1,3,4,2}
>>> b
{0, 1, 2, 3, 4}
>>> a.update(b)
>>> a
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> b.update(a)
>>> b
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
(3)集合对象的discard()方法、remove()方法和pop方法:删除一个元素
discard() 方法用于移除指定的集合元素。
该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。
>>> a
{1, 2, 4, 8, 9, 10, 11, 12, 13}
>>> a.discard(4)
>>> a
{1, 2, 8, 9, 10, 11, 12, 13}
>>> a.discard(0)
>>> a
{1, 2, 8, 9, 10, 11, 12, 13}
remove()删除指定元素
>>> a
{1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> a.remove(3)
>>> a
{1, 2, 4, 8, 9, 10, 11, 12, 13}
>>> a.remove(0) #删除不存在的元素就会抛出异常
Traceback (most recent call last):File "<pyshell#105>", line 1, in <module>a.remove(0) #删除不存在的元素就会抛出异常
KeyError: 0
pop()删除并返回一个元素
>>> a
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> a.pop() #删除并返回一个元素
0
>>> a
{1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> a.pop(2) #pop方法不接收参数
Traceback (most recent call last):File "<pyshell#101>", line 1, in <module>a.pop(2) #pop方法不接收参数
TypeError: set.pop() takes no arguments (1 given)
(4)集合对象的clear()方法:删除集合中所有元素。
>>> a
{1, 2, 8, 9, 10, 11, 12, 13}
>>> a.clear()
>>> a
set()
4.集合运算
(1)并集
>>> a
{1, 2, 8, 9, 10, 11, 12, 13}
>>> b
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> a|b #并集
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
(2)交集
>>> a
{1, 2, 8, 9, 10, 11, 12, 13}
>>> b
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> a&b #交集
{1, 2, 8, 9, 10, 11, 12, 13}
(3)差集
>>> a
{1, 2, 8, 9, 10, 11, 12, 13}
>>> b
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> a-b
set()
>>> b-a
{0, 3, 4}
(4)对称差集
>>> a
{1, 2, 8, 9, 10, 11, 12, 13}
>>> b
{0, 1, 2, 3, 4, 8, 9, 10, 11, 12, 13}
>>> a^b
{0, 3, 4}