集合
集合与列表差不多,只不过集合中的数据是不会存在重复值
例如:
列表的数据可以为:
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]