Python 集合
集合
集合与列表差不多,只不过集合中的数据是不会存在重复值
例如:
列表的数据可以为:
list_a=[1,2,3,3,3,4]
将list_a转换为集合时,数据就变为:
list_a=[1,2,3,4]
集合的常用操作:
set()函数
len()函数
add()方法
update()方法
union()方法
pop()方法
remove()方法
discard()方法
intersection()方法
intersection_update()方法
clear()方法
difference()方法
difference_update()方法
issubset()方法
issuperset()方法
set()函数,用于生成集合 list_a=[0,1,2,3,4,5] set_a=set(list_a) #将列表转换为集合 print set_a 运行结果: set([0, 1, 2, 3, 4, 5]) [Finished in 0.2s] len()函数,用于获取集合元素个数 set_a=set(['a','b','c',"d"]) print len(set_a) 运行结果: 4 [Finished in 0.2s] 检查成员元素 set_a=set(['a','b','c',"d"]) print "a" in set_a #检查a是否存在于set_a集合中 运行结果: True [Finished in 0.2s] add()方法,用于添加集合元素 set_a=set(list_a) set_a.add("A") #向集合添加元素 print set_a 运行结果: set([0, 1, 2, 3, 4, 5, 'A']) [Finished in 0.3s] update()方法,用于向集合中添加多个元素 list_a=[0,1,2,3,4,5] set_b=set([9,8,7,6]) set_a=set(list_a) set_a.update(set_b) print set_a 运行结果: set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) [Finished in 0.2s] union()方法,合并两个集合,生成一个新的集合 set_a=set(['a','b','c']) set_b=set([9,8,7,6]) set_c=set_a.union(set_b) print set_c 运行结果: set(['a', 'c', 'b', 6, 7, 8, 9]) [Finished in 0.2s] pop()方法,用于移除一个元素,并返回被移除的元素,如果集合为空,则出现TypeError异常。 set_a=set(['a','b','c']) print set_a print set_a.pop() 运行结果: set(['a', 'c', 'b']) a [Finished in 0.2s] remove()方法,用于移除集合中的一个元素,如果被移除的元素不存在则出现异常 set_a=set(['a','b','c']) print set_a set_a.remove("b") print set_a 运行结果: set(['a', 'c', 'b']) set(['a', 'c']) #移除后 [Finished in 0.2s] discard()方法,用于移除元素(无返回值),如果不存在此元素,也不会出现异常 set_a=set(['a','b','c',"d"]) set_a.discard("a") #移除集合中的a元素 print set_a 运行结果: set(['c', 'b', 'd']) [Finished in 0.2s] intersection()方法,取集合的并集,生成新的集合 set_a=set(['a','b','c',"d"]) set_b=set(['c','a']) set_c=set_a.intersection(set_b) print set_c 运行结果: set(['a', 'c']) [Finished in 0.2s] intersection_update()方法,取集合的并集,并更新到集合a中 set_a=set(['a','b','c',"d"]) set_b=set(['c','a']) set_a.intersection_update(set_b) #将集合a和集合b的并集,更新到集合a中 print set_a 运行结果: set(['a', 'c']) [Finished in 0.2s] clear()方法,用于清空集合里的所有元素. set_a=set(['a','b','c']) print set_a set_a.clear() print set_a 运行结果: set(['a', 'c', 'b']) set([]) [Finished in 0.2s] difference()方法,用于集合相减(将集合1-集合2),并生成新的集合 set_a=set(['a','b','c',"d"]) set_b=set(['a','b']) set_c=set_a.difference(set_b) #将集合a-集合b print set_c 运行结果: set(['c', 'd']) [Finished in 0.2s] difference_update()方法,用于移除集合1中与集合2相同的元素,不生成新的集合 set_a=set(['a','b','c',"d"]) set_b=set(['a','b']) set_c=set_a.difference_update(set_b) #移除集合a中与集合b相同的元素 print set_a 运行结果: set(['c', 'd']) [Finished in 0.2s] issubset()方法,用于判断集合b是否(包含于)集合a,如果(包含于)就返回true,反之返回false set_a=set(['a','b','c',"d"]) set_b=set(['c','a']) set_c=set_b.issubset(set_a) #检查集合b是否包含于集合a print set_c 运行结果: True [Finished in 0.2s] issuperset()方法,用于判断集合a是否(包含)集合b,如果(包含)就返回true,反之返回false set_a=set(['a','b','c',"d"]) set_b=set(['c','a']) set_c=set_a.issuperset(set_b) #检查集合a是否包含集合b print set_c 运行结果: True [Finished in 0.2s]