python基础一数据类型之集合

摘要:

python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合。

1,集合的定义

2,集合的功能

3,集合的方法

1,集合的定义

list1 = [1,4,5,7,3,6,7,9]
set1 = set(list1)

set2 = {1,4,5,7,3,6,7,9}

  

2,集合的功能

2.1 去重

list1 = [1,4,5,7,3,6,7,9]
set1 = set(list1)
   
            运行结果:{1, 3, 4, 5, 6, 7, 9}  

可以发现集合具有去重的功能。

  

2.2 关系测试

关系测试的话主要涉及到都是集合的方法,比如子集、交集等,详见集合的方法。

3,集合的方法

3.1,交集

set1 = {1, 3, 4, 5, 6, 7, 9}

set2= set([2,6,0,7,66])

print(set1.intersection(set2)) 
或者 
print(set1&set2)

      运行结果:{6, 7}

  

 

3.2,并集

set1 = {1, 3, 4, 5, 6, 7, 9}

set2= set([2,6,0,7,66])
print(set1.union(set2)) 
或者 print(set1|set2)
      
      运行结果:{0, 1, 2, 3, 4, 5, 6, 7, 66, 9}

  

3.3,差集(在set1里面有的,set2里面没有的,同理也可以set2里面有的,set1里面没有的)

set1 = {1, 3, 4, 5, 6, 7, 9}

set2= set([2,6,0,7,66])
print(set1.difference(set2))        
print(set2.difference(set1))
print(set1-set2)
print(set2-set1)

  

3.4,子集(以bool值返回)

set1 = {1, 3, 4, 5, 6, 7, 9}

set2= set([2,6,0,7,66])

print(set1.issubset(set2))

  

3.5,父集

set1 = {1, 3, 4, 5, 6, 7, 9}

set2= set([2,6,0,7,66])

print(set1.issuperset(set2))

  

3.6,对称差集(将对方都没有的都取出来,或者说是去取反向差集)

set1 = {1, 3, 4, 5, 6, 7, 9}

set2= set([2,6,0,7,66])
print (set1.symmetric_difference(set2))

print(set1^set2)

3.7,交集(以bool值返回)

set1 = set([1,2,3])
set2 = set([4,5,7])
print (set1.isdisjoint(set2))

  

3.8,集合其他方法

1,,集合添加元素

set1 = set([1,2,3])
set1.add(4)
print(set1)
set1.update([5,6,7])
print(set1)

  

2,删除集合的元素,如果不存在就会报错。

set1.remove(7)
print(set1)

  

3,随机删除元素

print (set1.pop())

  

4,删除元素,如果删除的元素不存在不会报错。

set1 = set([1,2,3,'a'])
set1.discard('b')
print(set1)