python之集合
# -*- coding: UTF-8 -*- #set 集合 # - 集合和列表相似 # - 不同的: # 1, 集合只能存放不可变对象 # 2,集合中的对象是无序的 # 3,集合中不能用重复的对象 #创建集合 #{} #set() s = {1,2,3,4,5} print s, type(s) #set([1, 2, 3, 4, 5]) s1 = {1, 1, 2, 3, 4, 5} print s1, type(s1) #set([1, 2, 3, 4, 5]) #set()创建空集合 s2 = set() print s2 #set([]) s3 = set([1, 2, 3, 4, 5, 5, 6]) s4 = set("hello") print s3 #set([1, 2, 3, 4, 5, 6]) print s4 #set(["h", "e", "l", "o"]) s5 = set({"name":"tom", "age":"7"}) #只包含字典中的键 print set(s5) #set(["age", "name"]) #创建集合 s = {"a", "b", "1", "2"} #in,not in检查集合中的元素 print "c" in s #False #使用len()来获取集合中的元素值 print(len(s)) #4 #add() 集合中添加元素 s.add(32) print s #set(["a", "1", "2", "b", 32]) #update() 将集合中的元素添加到当前集合中 #可以传递序列,字典(只传key) s2 = set("hello") s.update(s2) print s #set(["a", 32, "b", "e", "h", "l", "o", "1", "2"]) #删除 #pop() 随机删除集合中的一个顺序。 s.pop() print s #set([32, "b", "e", "h", "l", "o", "1", "2"]) #删除集合中指定元素 #remove() result = s.remove("a") print result #set([32, "b", "e", "h", "l", "o", "1", "2"]) #清空集合 #clear() s.clear() #copy()浅复制 s.copy() # -*- coding: UTF-8 -*- s = {1,2,3,4,5} s2 = {3,4,5,6,7} #& 交集 result = s & s2 print s,s2 #set([1, 2, 3, 4, 5]) set([3, 4, 5, 6, 7]) print result #set([3, 4, 5]) #| 并集运算 result = s| s2 print result #set([1, 2, 3, 4, 5, 6, 7]) #-差集 result = s -s2 #s有,s2没有 print result #set([1, 2]) #^ 亦或集, 只在一个集合中出现的元素 result = s ^ s2 print result #set([1, 2, 6, 7]) #<=, 检查一个集合是否是另一个集合的子集 a = {1, 2, 3} b = {1, 2, 4, 3, 5} result = a <= b print result #True, a是b的子集 #> 检查一个集合是否为另一个集合的超集 result = a > b print result #False