重要性:很重要,但是不太常用,用的比较少,主要是用来辅助做一些操作
set集合是 --无序不重复元素集
set的创建:set (序列对象) 不支持索引和分片 可以循环,set不能直接创建,只能通过关键字set来标识、不可变数据类型
a = set([1,2,3])
print a #输出: set([1, 2, 3])
不支持索引,不能通过索引的方式取数值,只能通过循环的方法取值,
for i in a:
print i
天然优势:set里面的数值不能重复,如果重复了,就会自动剔除掉
a = set([1,2,3,4,4,3])
print a
输出:set([1, 2, 3, 4])
往集合中添加项:s.add('x') 例子:集合add方法:是把要传入的元素做为一个整个添加到集合中
m = set('boy')
m.add('python')
print m
输出:set(['y', 'python', 'b', 'o'])
集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如:
a = set('boy')
a.update('python')
print a
输出:set(['b', 'h', 'o', 'n', 'p', 't', 'y'])
往集合中删除一项:s.remove('H')
m =set(['y', 'python', 'b', 'o'])
m.remove('python')
print m
输出:set(['y', 'b', 'o'])remove()用于删除一个set中的元素,这个值在set中必须存在,如果不存在的话,会引发KeyError错误。
discard()用于删除一个set中的元素,这个值不必一定存在,不存在的情况下删除也不会触发错误。
弹出首个 s.pop() 清空set集合中的数据 s.clear() 因为也被当做序列对象,所以可以转元祖或者转列表
m =set(['y', 'python', 'b', 'o'])
m.remove('python')
m.pop() #剔除最后一位
print m
m.clear() #清空数据
print m
下面来演示差集、交集和合集
a = set('abc')
b = set('cdef')
print a&b #交集
print a|b #合集
print a - b #相对补集,差集
依次输出:
set(['c'])
set(['a', 'c', 'b', 'e', 'd', 'f'])
set(['a', 'b'])
版权声明:本文为博主原创文章,转载请附上博文链接!