python中的set集合

重要性:很重要,但是不太常用,用的比较少,主要是用来辅助做一些操作

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'])

猜你喜欢

转载自blog.csdn.net/xxlovesht/article/details/80438019
今日推荐