python -011-集合

·集合

集合set
1、集合中的元素都是唯一的
2、集合是无序的

·集合的创建
1、直接使用花括号

s={1,2,3,3,4,4,5}
print s #set([1, 2, 3, 4, 5])

2、使用set()
set(元祖/集合/列表)

s=set([1,2,3])
print s#set([1, 2, 3])

#列表去重[1,4,3,7,4,7,9,9]

l1=[1,4,3,7,4,7,9,9]#记录重复数据,原始数据
l2=[] #创建一个空列表数据,为了收集原始数据中的数据没有重复

#把l1中的元素逐个拿出了放到l2中,还要保证每次元素之间不重复,不遗漏。

#遍历l1
for i in l1:
 #判断l2中是否已经拥有了该元素
        if i not in l2:
    #向l2插入元素append
        l2.append(i)
print l2

或者

#利用set集合元素不会重复

l1=[1,4,3,7,4,7,9,9]
s=set(l1)
l=list(s)
print l

·集合的访问

集合的遍历
1、向集合中加入元素

add()

s={1,2,3,4}
s.add(5)
s#set([1, 2, 3, 4, 5])

2、集合的删除
remove()

s.remove(2)
s#set([1, 3, 4])

·不可变集合

关键字:frozenset()

s=frozenset([1,2,3])
s #frozenset([1, 2, 3])
不可变 s.add(4)显示错误

1、update(str)
    更新操作,str这个字符串拆分成多个字符,逐个添加进来
s.update('world')
s#set(['e', 'd', 'h', 'l', 'o', 'r', 'w'])

2、赋值操作‘-=’
s={'e', 'd', 'h', 'l', 'r', 'w'}
 s-=set('hehe')
     s2=set('hehe')#s2:{'h','e'}
 s=s-s2 #大集合减去小集合最后得到{'d', 'l', 'r', 'w'}

3、删除一个集合
    del 删除的是变量 集合本身没有被删除
4、成员关系运算符(in not in)
set([' ', 'e', 'd', 'h', 'l', 'o', 'r', 'w'])
print 'e' in s#True
print 'y' in s#False
5、集合等价
s1=set('hello')
s2=set('world')
print s1==s2 #False
print s1!=s2#True

s2=set('hello')
print s1==s2# True

猜你喜欢

转载自blog.51cto.com/13694862/2107066