set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
1.创建一个set,需要提供一个list作为输入集合:
s=set([1,2,3,3])
print(s)
结果:(重复元素在set中自动被过滤)
{1, 2, 3}
注意,传入的参数[1, 2, 3,3]
是一个list,而显示的{1, 2, 3}
只是告诉你这个set内部有1,2,3这3个元素,显示的顺序不表示set是有序的。
所以:set([parm1,parm2,parm3...])中list[ ]里的元素只能是不可变的类型:数字,元组,字符串等
#数字
s=set([1,2,3,3])
#字符串
s1=set(['a','b','c','c'])
#元组
s2=set([(10,11,12,12)])
print(s)
print(s1)
print(s2)
{1, 2, 3}
{'a', 'b', 'c'}
{(10, 11, 12, 12)}
2.set的作用:set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
交集和并集操作
s1=set([1,2,3])
s2=set([2,3,4])
s3=s1&s2
print(s3)
s4=s1|s2
print(s4)
结果
{2, 3}
{1, 2, 3, 4}
3.set增加和删除元素
增加和删除元素都是对原本的set造成影响
通过add(key)
方法添加元素到set中,重复添加的值不会有效果:
s=set([1,2,3])
#添加数字4,添加成功
s.add(4)
print(s)
#添加数字3,重复添加的值3不会有效果
s.add(3)
print(s)
{1, 2, 3, 4}
{1, 2, 3, 4}
通过remove(key)
方法删除元素:
s=set([1,2,3])
s.remove(1)
print(s)
{2, 3}