- 与dict类似,set也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。创建一个set,需要提供一个list作为输入集合:
In [10]:
s = set([3,4,5])
s
Out[10]:
- 重复元素在set中会被自动被过滤,通过add(key)方法往set中添加元素,重复添加不会有效果,通过remove(key)方法可以删除元素,例如:
In [11]:
s = set([3,3,4,4,5,5,6,6,7])
s
Out[11]:
In [12]:
s.add(1)
s
Out[12]:
In [13]:
s.add(1)
s
Out[13]:
In [14]:
s.remove(5)
s
Out[14]:
- 由于set是无序和无重复元素的集合,所以两个set可以做数学意义上的交并集等操作:
In [15]:
s1 = set([3,4,5,6])
s2 = set([5,6,7,8,9])
s1 & s2
Out[15]:
In [16]:
s1 | s2
Out[16]:
- 与dict一样,set同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部不会有重复元素。所以把list放入set,会报错。
In [17]:
s = set([1,2,[1,2]])