第二章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}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值