集合set

集合set

集合是把不同的元素组成在一起实现集合。Set可以实现去重的功能,但其内容是无序的。查看时只能用遍历和迭代器查询内容。其是Python的基本数据类型。

一、 集合的创建

集合里的值是可哈希的(也就是不可变的),可以是整型,字符串,元组,但不可以是列表和字典。

s=set('tom jim')           #创建集合
print(s)                            #{'i', 'o', 't', 'j', ' ', 'm'}

 

li=['t','o','m','jim']          #创建列表
s1=set(li)                      #将列表转换成集合
print(s1)                       # {'t', 'o', 'm', 'jim'}
print('ji'in s1)                # False
print('jim' in s1)              # True

二、 集合的操作

1.   In

s=set('tom jim')              #创建集合

print('t' in s)                 #true

2.   遍历

s=set('tom jim')         #创建集合

for i in s:

      print(i)

3.   添加

s.add('uu')            #将引号内的元素当成一个整体添加一个元素
print('s=',s)           #s= {'t', 'j', 'i', ' ', 'uu', 'm', 'o'}

 

s.update('uuabs')       #将update内的元素当成序列添加多个元素
print('s=',s)                # s= {'j', 't', ' ', 'b', 'i', 's', 'a', 'm', 'o', 'u'}

 

s.update(['uua','bs']) #将update内的列表当成序列添加多个元素

print('s=',s)                #s= {'i', 'bs', 't', 'j', 'o', 'uua', ' ', 'm'}

4.   删除

1)remove

s=set('tom jim')           #创建集合
print(s)                            #{'i', 'o', 't', 'j', ' ', 'm'}

s.remove('o')              #删除元素‘o’

print(s)                       # {'m', ' ', 'i', 't', 'j'}

2).pop

s=set('tom jim')         #创建集合
print(s)                     #{'i', 'o', 't', 'j', ' ', 'm'}

s.pop()                     #随机删除集合内的一个元素
print('s2=',s)             # s2= {'t', 'm', 'j', ' '}

3)  clear

s=set('tom jim')         #创建集合
print(s)                     #{'i', 'o', 't', 'j', ' ', 'm'}

s.clear()                   #清空集合s内的元素。不等同于删除

print(s)                     # set()

4)  del

s=set('tom jim')         #创建集合
print(s)                     #{'i', 'o', 't', 'j', ' ', 'm'}

del s                        #删除集合s

print(s)                    # 报错NameError: name 's' is not defined

5.集合运算

1)交集

a=set([1,2,3,4,5])

b=set([4,5,6,7,8])

print(a.intersection(b))              #{4,5}

print(a & b )                               #{4,5}

2) 并集

a=set([1,2,3,4,5])

b=set([4,5,6,7,8])

print(a.union(b))             #{1,2,3,4,5,6,7,8}

print(a | b)                      #{1,2,3,4,5,6,7,8}

3) 差集

a=set([1,2,3,4,5])

b=set([4,5,6,7,8])

print(a.defference(b))                #a集合中有的而b集合中没有{1,2,3}

print(a - b)                                 #a集合中有的而b集合中没有{1,2,3}

print(b.defference(a))                # b集合中有的而a集合中没有{6,7,8}

print(b – a )                                # b集合中有的而a集合中没有{6,7,8}

print(a.symmetric_defference(b))         #对称差集,{1,2,3,6,7,8}

print(a ^ b )                               #对称差集,{1,2,3,6,7,8}

4) 父集(超集)

a=set([1,2,3,4,5])

b=set([4,5,6,7,8])

print(a.issuperset(b))            #a是否完全包含b,结果为false

print(a > b )                           #a是否完全包含b,结果为false

5) 子集

a=set([1,2,3,4,5])

b=set([4,5,6,7,8])

print(a.issub(b))              #a是否是b的子集,结果为false

print(a < b )                           #a是否是b的子集,结果为false

posted @ 2017-10-03 15:57  xsan  阅读(230)  评论(0编辑  收藏  举报