定义集合
定义一个任意集合:set()
>>> s = set('1234') #集合是无序不重复的
>>> s
{'4', '1', '3', '2'}
向集合添加或删除元素
给集合添加元素:add()
删除集合中的元素:remove()
删除任意一个元素:pop()
清空元素:clear()
>>> s.add('5')
>>> s
{'3', '4', '1', '2', '5'}
>>> s.remove('4')
>>> s
{'3', '1', '2', '5'}
>>> s.pop()
'3'
>>> s
{'1', '2', '5'}
>>> s.clear()
>>> s
set()
处理集合关系
符号 | 描述 |
---|---|
- | 差集 |
& | 交集 |
| | 并集 |
^ | 异或,两个集合的不同之处 |
!= | 不等于 |
== | 等于 |
in | 是集合成员为真 |
not in | 不是成员为真 |
#定义集合a、b:
>>> a = set([1,2,3,4,5,6])
>>> a
{1, 2, 3, 4, 5, 6}
>>> b = set([1,3,5,6,7,9])
>>> b
{1, 3, 5, 6, 7, 9}
>>> a-b #a-b,是a中有,b中没有
{2, 4}
>>> b-a
{9, 7}
>>> a & b #a和b的共同元素,即交集
{1, 3, 5, 6}
>>> a | b #a和b的所有元素并去重,即并集
{1, 2, 3, 4, 5, 6, 7, 9}
>>> a ^ b #a和b中不同元素的集合
{2, 4, 7, 9}
>>> a != b #判断a不等于b时返回True
True
>>> a == b #判断a等于b时返回True
False
>>> '2' in a #判断字符串‘2’是否在a中
False
>>> 2 in a #判断数字2是否在a中
True
>>> 7 in a
False
>>> 7 not in a
True
集合推导式
#c集合取随机元素n的范围是(1,5)并且满足随机元素n大于2
>>> c = {n for n in range(1,6) if n > 2}
>>> c
{3, 4, 5}
列表、元组、字典转集合
>>> lst = ['a','b',1,2,3,3,4]
>>> tup = ('q','w',1)
>>> dic = {'a':1,'b':'2'}
>>> print(set(lst)) #集合是无序无重复的
{1, 'b', 3, 2, 4, 'a'}
>>> print(set(tup))
{'w', 'q', 1}
>>> print(set(dic))
{'a', 'b'}