>>> A={"python",123,("python",123),123,'1','2','3'}#使用#定义集合>>> A #输出是可以看到重复的元素 数字123 只留下了一个,切输出顺序由系统内部规定,并不一定和初始化的顺序相关联。{'1', ('python', 123), '3', '2', 123, 'python'}>>> B=set("pypy123")#使用set导入一个序列元素来生成集合>>> B #将序列导入生成集合可以快捷完成元素去重,但元素顺序与序列无关{'1', '2', 'y', 'p', '3'}>>>>>> D=B.copy()#返回集合的副本,简单的D=C只是将D指向C,只有重新构造才能产生两个内容相同的不同变量 这是Python语言特性,Python语言的变量名等同于C语言的指针,赋值的时候只是把指针指向同样的内存地址,所以要产生两个不相关的元素,必须重新构造。>>> D
{'1', '2', 'y', 'p', '3'}
运算、操作符和属性方法
>>> A | B #并集{'1', '2', 'y', 'p', ('python', 123), '3', 123, 'python'}>>> A - B #差集{123, 'python', ('python', 123)}>>> A & B #交集{'1', '2', '3'}>>> A ^ B #补集{'p', 'python', ('python', 123), 123, 'y'}>>> C >=B # > >= < <= 返回是否为子集的判断结果
False
>>> C <=B
True
>>> C <B
True
>>> B >C
True
>>>#一些为集合的方法>>> B.add('a')#增加元素>>> B
{'1', '2', 'y', 'p', 'a', '3'}>>> B. discard('1')#删除指定元素,如果该元素不存在,不产生异常>>> B
{'2', 'y', 'p', 'a', '3'}>>> B. discard('1')>>> B
{'2', 'y', 'p', 'a', '3'}>>> B.remove('2')#删除指定元素,如果该元素不存在,产生KeyError异常>>> B
{'y', 'p', 'a', '3'}>>> B.remove('2')
Traceback (most recent call last):
File "<pyshell#25>", line 1, in<module>
B.remove('2')
KeyError: '2'>>>>>> B.pop()#从集合中随机取出一个元素并将其从集合中删除(伪随机),如果集合为空,产生KeyError异常'y'>>> B
{'p', 'a', '3'}>>> B.clear()#清空集合>>> B
set()>>> B.pop()
Traceback (most recent call last):
File "<pyshell#30>", line 1, in<module>
B.pop()
KeyError: 'pop from an empty set'>>> len(D)#返回集合元素个数
5
>>>'1'in D #返回布尔值
True
>>>'1' not in D #返回布尔值
False